シェルスクリプト基本2
前回の続き。基本のこと。
シェル変数
あらかじめシェルが定義している変数
setコマンドで一覧を表示
環境変数
各ユーザごとに設定されている変数。子のシェルに引き継ぐ
exportコマンドで一覧を表示
実行
.shのファイルを実行するには、ファイルに実行権限を付与する
# chmod u+x hoge.sh
クォート
ダブルクォート
パラメータ展開とコマンド置換を行う。
シングルクォート
囲まれた文字列は全て展開されず、文字そのものとなる。
バックスラッシュ
次の文字は連解されずに、文字そのものとなる。
バッククォート
コマンド実行された結果に置き換わる。
関数
check() { if [ $1 -gt $2 ] then return 1 elif [ $1 -lt $2 ] then return 2 else return 0 fi } check $1 $2 ret=$? echo $ret
関数へは、引数はスペースで区切って渡す。
関数内で参照する場合、同じく1 2と使う
returnの引数に指定できる値は、1~255の正の整数のみ
オプション
while getopts l:n: opt do case $opt in l) FLG_L=$OPTARG ;; n) FLG_N=$OPTARG ;; esac done if [ -n "$FLG_L" ] then echo "-l $FLG_L" fi if [ -n "$FLG_N" ] then echo "-n $FLG_N" fi
オプションを利用して引数を渡す
次はbashとshの比較まわりでも書いてみる。