開発者 つぼ

 
お品書き
Amazon
 

シェルスクリプトの基本

 ちょっとした処理に便利なShell Script。
すぐ忘れるので、メモメモ
(BShellの使い方です。)

1.特殊変数
 $? 直前に実行したコマンドの帰り値
 $n スクリプトに渡された n番目の引数 (9個まで)
 $# 引数の個数(引数がない場合は0)  
 $$ シェル自身のプロセスID  
 $! シェルが最後に起動したバックグラウンドプロセスのプロセスID
 $- シェルの起動時のフラグ、setコマンドを使って設定したフラグの一覧  
 $* 全引数リスト。全引数がまとめてダブルクォートに囲まれる。"$1 $2 … $n"
 $@ 全引数リスト。引数一つ一つがダブルクォートで囲まれる。"$1" "$2" … "$n"

 最初の3つを覚えていれば、95%事足りる。

2.関数の作り方
 書式
  関数名() {
       処理
  }
 引数
  $n
 サンプル
  #!/usr/bin/sh
  MyFunc() {
       echo "引数:$1"
  }
  MyFunc arg1

3.制御構文
 if文
  if [ $1 = "hoge" ]; then
    処理
  elif [ $1 = "fuge" ]
    処理
  else
    処理
  fi

 for文 
  for str in `cat /tmp/file`
  do
      echo $str
  done

 while文 
  i=1
  while [ i -lt 3 ]
  do
      echo "i = $i"
      i=`expr $i + 1`
  done


4.条件式の書き方
  文字列評価
   =  両辺の文字列が一致したとき真 
   !=  両辺の文字列が一致しないとき真 
   -n 変数 変数がnullでないときに真 
   -z 変数 変数がnullのときに真 

  数値評価
   -lt より小さい 
   -le 以上 
   -eq 等しい 
   -ge 以上 
   -gt より大きい 
   -ne 等しくない 

  ファイル属性評価
   -d file fileが存在してディレクトリのとき真 
   -e file fileが存在するとき真 
   -f file ファイルが存在し普通のファイルのとき真 

  論理演算子
   -a  かつ 
   -o  または 


5.その他
  文字列の結合
   つなげるだけ
   例)
    $str1$str2
    ${str1}${str2}
    ${str}hogehoge
    ⇒$strは、${str}とも書ける

  コマンド置換
   コマンドの実行結果を変数に代入する
    var=`date '+%y%m%d%H%M'`

【参考にしたサイト】
シェルスクリプト リファレンス & Tips 

   
Copyright © 2005 開発者のつぼ
SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送