Bashのマニュアルから:
コマンド[-pVv]注文する[論争...]
commandという名前のシェル関数を無視し、引数を使用してコマンドを実行します。シェル組み込みコマンドまたはPATHを検索して、見つかったコマンドのみを実行します。 lsというシェル関数がある場合、関数内で "command ls"を実行すると、関数を再帰的に呼び出すのではなく、外部コマンドlsが実行されます。 -pオプションは、PATHのデフォルト値を使用してすべての標準ユーティリティを見つけることができることを意味します。コマンドが見つからないかエラーが発生した場合、この場合は戻り状態は127、そうでない場合はコマンドの終了状態です。
マニュアルに故障の原因が記載されていますか?注文する割り当てですか、それとも割り当て(環境変数用)で始まりますか?
$ command aaa=1
aaa=1: command not found
$ command aaa=1 echo hello
aaa=1: command not found
答え1
command
オプションの割り当て、オプションのリダイレクト、およびオプションの単語(コマンド名とオプションの引数を含む)の空でないシーケンス、POSIXは「単純なコマンド」と呼ばれるものと、Bashで使用される「コマンド」との間に混乱があります。マニュアルの概要 「これはコマンド名だけです。
ここで割り当てを実際に使用するには、次のようにします。
aaa=1 command echo hello
コマンドがまったくなく、割り当てのみがある場合は、command
最初に検索する組み込みコマンドやPATHにコマンドがないため、コマンドの使用に大きな意味はありません。
実際に変数を設定するには、command
次を使用できます。
command typeset aaa=1
または
command declare aaa=1
答え2
"let"コマンドの使用(算術式の場合)
単純割り当てのコマンド形式aaa=1
はですlet aaa=1
。ただし、これは算術式でのみ機能します(文字列割り当てではありません)。
$ command let aaa=1
$ echo $aaa
1
$ command let aaa=6*3+5
$ echo $aaa
23