あるコマンドからの出力を他のコマンドの一部として利用したい時には、アサインを使う。
コマンドをバッククォート(`)で囲っておくと、その部分のコマンドが実行された結果が、その部分に置き換えられて残りのコマンドが実行される。
この機能は、コマンドの標準出力を変数に代入したり、他のコマンドの引数として再利用したい時に用いられる。
なお、これと良く似た機能がMELにも存在する。
# pwd /CG/CGtec/abe # set dir = `pwd` # echo $dir /CG/CGtec/abe # ls file1 file2 file3 file4 # set files = ( `ls` ) <- 出力結果にスペースが含まれている時は配列にする # echo $files file1 file2 file3 file4
# whoami <- 自分のログイン名を表示 99ad0000 # set prompt = `whoami` <- set prompt = 99ad0000 と同じ 99ad0000 <- プロンプトが99ad0000に変わる
# grep -l test file* <- testが含まれているファイル名を表示 file3 file4 # vi `grep -l test file*` <- vi file3 file4 と同じ( vi `!!` と実行しても良い )