Bash で次のコマンドを実行します。
echo foo | while read line; do echo $line; done
foo
ただし、次のように出力されます。
alias bar="echo foo | while read line; do echo $line; done"
bar
a \n
(またはスペース)を出力します。これらの行動の違いの原因は何ですか?
答え1
変数拡張を延期するには、単一引用符を使用してください。
alias bar='echo foo | while read line; do echo $line; done'