トップ 差分 一覧 ping ソース 検索 ヘルプ PDF RSS ログイン

シェルプログラミング コマンド



目次



記事一覧

キーワード

シェルプログラミング コマンド

[シェルプログラミング]

これらの本からの覚書。


break

条件を満たす前に、for、while、until ループを抜ける

for file in  $1*
do
  echo "checking... $file"
  if [ $file = "$2" ];then
     echo "*********************"
     echo "$2 is found."
     echo "*********************"
     break;
   fi
done;

: コマンド

  • コロン(:)はヌルコマンド
  • trueコマンドの変わりに使用でき、簡潔に記述できる場合がある
  • while : は wihle true と同じ意味

continue

一番内側の、for、while、untilループの始まりに戻り次の繰り返しを行う。

.コマンド

ドット(.)コマンドは、現在のシェルを実行する

  • 通常スクリプトから、コマンドやスクリプトを実行すると、新しい環境(サブシェル)が作成される
  • source コマンドや ドット(.)コマンドを利用するとスクリプトを呼び出したシェルと同じシェルで実行される。
  • このコマンドを利用すると、同じ環境変数をスクリプトの中で利用できる。

. shell_script

eval

引数を式として評価することができる。


x='$''((999+1))'
echo $x
eval y='$''((999+1))'
echo $y

結果

$((999+1))
1000

exit n

終了コードnでスクリプトを終了

  • 0が成功、1〜125までが、シェルスクリプトで利用できるエラーコード

export

パラメータで指定された変数をサブシェルでも利用できるようにする。

exp01.sh

#!/bin/sh
echo $foo
echo $bar

exp02.sh

#!/bin/sh
foo="not export variable"
export bar="export variable"
./exp01.sh

実行結果

# . exp01.sh

export variable

printf

[書式]
書式文字列を生成

エスケープシーケンス
printf "format string" parameter1 parameter2 ...
エスケープシーケンス 説明
\\ \
\n 改行
\r キャリッジリターン

変換指定文字
変換指定文字 説明
%d 10進数
%c 文字
%s 文字列
%% %文字そのもの

 コマンド

sed

  • 入力ストリームのデータを編集し出力
  • パイプラインの中で文字列の置換など
$ sed 's/[ ].*//g' access_log | sort -u | nl

cut

  • 入力されたデータから特定のフィールド、範囲を切り出す



YAGI Hiroto (piroto@a-net.email.ne.jp)
twitter http://twitter.com/pppiroto

Copyright© 矢木 浩人 All Rights Reserved.