Shellコマンド置換の2つの方法


コマンド置換(command substitution)とは、Shellがコマンドを実行し、コマンドの代替部分をそのコマンドを実行した結果に置き換えることです。
コマンド置換には2つの方法があります。
1.backtick記号(つまり、反引用符、アクセント記号)を使います。

for i in `cd /old/code/dir ; echo *.c`
do
    diff -c /old/code/dir/$i $i | more
done
2.(...)を使う方式です。

for i in $(cd /old/code/dir ; echo *.c)
do
    diff -c /old/code/dir/$i $i
done | more
注意:最初の方式を使う時は、埋め込まれたbacktick記号と二重引用符の両方を意味する必要があります。第二の方法を使うと、中に埋め込まれた括弧は意味を変えなくてもいいです。