サブシェル

サブシェルとは

csh においてコマンドを ( ) で囲って実行すると、 そのコマンドはサブシェルで実行される。
つまり、そのコマンドを実行するために新しい csh を起動し、 その下でコマンドが実行されるので、ディレクトリを 移動してもコマンドの実行が終ると元のディレクトリに戻っている。
他のディレクトリでコマンドを実行したら、すぐに元のディレクトリへ 戻りたい時に便利である。
また、( ) で囲まれた部分をひとつのコマンドのように扱うことができるので 標準出力・標準エラー出力を分けて出力するために使用することもできる。

# pwd
/CG/CG98/ad980000
# ls
kadai1/ kadai2/
# ( cd kadai ; ls )     <- kadai ディレクトリへ移動しているが、
kadai1.c
# pwd                   <- 元のディレクトリに戻っている。
/CG/CG98/ad980000
#

Home | Contents
Mail