next up previous contents
Next: コラム Up: シェルを使う Previous: リダイレクトとパイプ

その他

最後になってしまいましたが、シェルに命令を与えるときの引数の書き方に はルールがあります。空白で区切られた文字列一つ一つが引数として扱われま す。それゆえ空白を含んだ文字列を引数として渡したいときは"か'で囲んで渡 します。先程の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という文字以外という意味になります。

継続行は行末に
をタイプします。



next up previous contents
Next: コラム Up: シェルを使う Previous: リダイレクトとパイプ



Kinya Hibino
Wed Apr 26 21:42:06 JST 1995