最後になってしまいましたが、シェルに命令を与えるときの引数の書き方に はルールがあります。空白で区切られた文字列一つ一つが引数として扱われま す。それゆえ空白を含んだ文字列を引数として渡したいときは"か'で囲んで渡 します。先程のaliasに例が出ています。cシェルでは`(バッククォート)は別 の働きをします。`に囲まれた部分が先にシェルによって実行されその標準出 力が文字列として採用されます。例えば、
% hostname sakanaya % set prompt = "`hostname`% " sakanaya%
hostnameというのはその計算機の名前を表示する命令です。今の場合は
sakanayaが標準出力に出ました。次にset promptはシェル変数promptを設定す
る命令です。""
の中に``
で囲まれた部分があります。まずこれ
が実行されます。sakanayaが出力でしたから``
の部分
がこれに置き換えられます。その結果set prompt = "sakanaya% "
というようになります。
prompt変数が変更されたので次からはsakanaya
ました。
引数にはワイルドカードが使えます。ワイルドカードは現在のディレクトリ
の内容で展開されます。これはシェルが勝手に書き換えるので例えば*という
文字をコマンドに与えたいときは'か"で囲む必要があります。ワイルドカード
には(正規表現といいますが)長さ0以上の任意の文字列を表す*、任意の一
文字を表す?のほか、[a,e,h]とやると[]の中のいずれか、[i-n]とやるとiから
nまでのいずれかの1文字という意味になります。^
は否定を表します。
^a
はaという文字以外という意味になります。
継続行は行末に
をタイプします。