: [arguments]
パラメータの拡張とリダイレクトの実行以外は何もしません。
パイプまたは複合コマンドはどのように機能しますか:
?
中かっこが問題を解決できないようです。
$ : { echo hello | cat; }
bash: syntax error near unexpected token `}'
$ : { if test 1; then echo hello; fi; }
bash: syntax error near unexpected token `then'
二重引用符は一部の拡張を防ぐため、これを:
許可します。
echo
代替を使用しても同じ問題が発生します:
。
$ echo { echo hello | cat; }
bash: syntax error near unexpected token `}'
$ echo { if test 1; then echo hello; fi; }
bash: syntax error near unexpected token `then'
デフォルトでは、拡張コマンドとリダイレクトコマンドを実行し、:
それを使用して結果を確認したいと思いますecho
。引用には、パイプと制御フローのキーワードが機能しないという言及がないので、エイリアス拡張が発生しないことを願っています。
ありがとうございます。
ベストアンサー1
: { echo hello | cat; }
シェルはコマンドラインを解析します。まず、最初のコマンドの終わりを見つけようとします。その先がパイプです。
だから最初のコマンドは
: { echo hello
何もしません。特に猫には何も送信しません。そして
: { echo hello | cat;
消えて左だけが残りますが、}
これは有効なコマンドではありません。