C Shell


  1. 環境変数
  2. シェル変数
  3. C Shellの演算子
  4. foreach
  5. 特別な変数
  6. C Shellのドット・ファイル
  7. find


  1. 環境変数
    HOMEホームディレクトリ
    LOGNAMEユーザー名(System V系)
    USERユーザー名(BSD系)
    TERM端末名
    PATH検索パス
    SHELLログインシェル
    PRINTERデフォルトで使用するプリンタ名


  2. シェル変数
     C Shellの変数には型の概念がない。C Shellでは変数がセットされて いるかどうかを調べることが出来る。以下、変数の代入方法。
    set 変数名=値
    例: set foo=100
    
    (*)"="の前後は両方とも空白をあけるか、もしくは両方ともあけない かのどちらかでないとならない。


  3. C Shellの演算子
    :hパス名の最後の部分だけを除いたパス名を取り出す
    :tパス名の最後の部分だけを取り出す
    :r拡張子を取り除く
    :e拡張子だけをを取り出す
    :s/l/r/文字列lrに変換する
    :q文字列をクォートする
    :x文字列を空白やタブで区切り、クォートする
    :g全ての句について修飾
    :a全ての文字について修飾
    :&前回の置換をもう一度
    :pコマンドを実行せず、表示だけ行う


  4. foreach
    foreach name (list)
        ....
    end
    
     break文、continue文を使用できる。
     コマンドラインからカレントの全てのCソースに対して wc を実行する例。
    % foreach i (*.c)
    ?wc -l $i
    ?end
      --実行結果--
    %
    


  5. 特別な変数
    $0シェルが起動された時のコマンド名
    $<標準入力から1行読み込んで、その値を返す
    $$この変数を評価したcshのプロセス番号
    $!最後にバックグラウンドで実行したプロセスのプロセス番号


  6. C Shellのドット・ファイル
    .loginログイン時
    .logoutログアウト時
    .cshrcC Shell起動時


  7. find
    find <ディレクトリ> <検索条件> <アクション>
    
    検索条件
    -name パターン名前
    -size サイズサイズ
    -mtime 時刻作成時刻
    -atime 時刻アクセス時刻
    -ctime 時刻属性変更時刻
    -user ユーザー名ユーザー名
    -perm 8進数アクセスビット

    例.

    % find ~ -name "*.c" -print   ......拡張子.cのファイル
    % find . -size +10k -print    ......10Kbyteより大きいファイル
    % find . -user Tony -print    ......Tonyのファイル
    % find . -user Tony -exec chown Nobody {} \;
                                  ......TonyのファイルをNobodyに変更
    
    



by masu
e-mail: massun.masumoto@nifty.ne.jp
URL : http://member.nifty.ne.jp/~masumoto/