「man coproc」はエラーを報告しますが、「help coproc」は機能します(特定のコマンドに関する文書はどこにありますか?)

「man coproc」はエラーを報告しますが、「help coproc」は機能します(特定のコマンドに関する文書はどこにありますか?)

私は以下の指示を通して学びました。

Coprocessingは一度に2つのことを行います。バックグラウンドモードでサブシェルを作成し、サブシェルでコマンドを実行します。

[root@iz2ze9wve43n2nyuvmsfx5z ~]# coproc ( sleep 10; sleep 2 )
[1] 32508
[root@iz2ze9wve43n2nyuvmsfx5z ~]# jobs
[1]+  Running                 coproc COPROC ( sleep 10; sleep 2 ) &

マニュアルを参照すると、フィードバックによってエラーが発生します。

root@iz2ze9wve43n2nyuvmsfx5z ~]# man coproc
No manual entry for coproc
[root@iz2ze9wve43n2nyuvmsfx5z ~]# coproc --info
[1] 32579
[root@iz2ze9wve43n2nyuvmsfx5z ~]# bash: line 25: --info: command not found

[1]+  Exit 127                coproc COPROC --info

help働く

[root@iz2ze9wve43n2nyuvmsfx5z ~]# help coproc
coproc: coproc [NAME] command [redirections]
    Create a coprocess named NAME.

    Execute COMMAND asynchronously, with the standard output and standard
    input of the command connected via a pipe to file descriptors assigned
    to indices 0 and 1 of an array variable NAME in the executing shell.
    The default NAME is "COPROC".

    Exit Status:
    Returns the exit status of COMMAND.

これはとても混乱しています。
私がアクセスできる手動コマンドが何であるかをおおよそどのように知ることができますか?どのように区別しますか?

答え1

coprocはシェルのシェルキーワードですbash。キーワードには通常独自のマニュアルはありませんが、manシェルマニュアル(この場合はbashマニュアルman bash)に文書化されています。シェルはbash、組み込みコマンドなどの特別なキーワードを提供するhelpコマンド(独自のhelp組み込みコマンド)も提供しますcoproc

bashtypeには、コマンドが外部コマンドか組み込みコマンドかを区別するのに役立つ別の組み込みコマンドがあります。

$ type coproc
coproc is a shell keyword
$ type help
help is a shell builtin
$ type type
type is a shell builtin
$ type ls
ls is /bin/ls

外部コマンド以外のものbashls上記の例でのみ)については、マニュアル(通常は表示されているよりも詳細)を使用またはhelp読んでください。その他の場合には。bashhelpman

外部コマンドとしても使用できますが、シェルでは複数のコマンドを組み込みコマンドとして提供することもできます。一般的な例は次echoのとおりですprintf。ただし、シェルは実際に次のビルドを提供できます。test[どの注文する。これは通常、パフォーマンス上の理由で、またはコマンドの拡張バージョンを提供するために行われます。

内部コマンドと外部コマンドの両方がシェルマニュアルと外部マニュアルに文書化されており、おそらく異なる動作をします。typeのコマンドは、組み込みbashコマンドを強制するために使用できるコマンド、または外部コマンドを強制するためにフルパスbuiltin(たとえば)を使用できるコマンドを示します。/bin/echo

setreadおよびcd通常のようないくつかのコマンドただ現在のシェルの環境を変更するので、組み込みコマンドとして提供されます。これはシェルのマニュアルhelpでよく説明されています。bash

関連情報