シェル関数
いろいろな関数定義
code:function
# スタンダード
function 関数名 ()
{
処理
}
# カッコを省略
function 関数名
{
処理
}
# functionを省略
関数名 ()
{
処理
}
上記は全て同じ、以降は3番目の書き方で書く
code:関数の例
homesize ()
{
date
du -h ~ | tail -n 1
}
# 定義した関数を呼び出しておく
homesize
Sun Mar 15 04:50:50 UTC 2020
180K /home/vagrant
du -h ~ | tail -n 1 ディスクの使用量を単位を付けて表示 | 最後の1行を表示
シェル関数内での位置パラメータ
code:位置パラメータの確認
print_parameters ()
{
echo "\$1 = $1"
echo "\$2 = $2"
echo "\$3 = $3"
echo "\$4 = $4"
echo
echo "$# arguments"
echo "script name = $0"
}
print_parameters aaa bbb ccc # =>関数呼び出しと同時に引数を渡している
$1 = aaa # =>引数が位置パラメータへ置き換えられている
$2 = bbb
$3 = ccc
$4 =
3 arguments
script name = ./func-param.sh # =>$0だけは特殊パラメータなので置き換えられていない
シェル関数の終了ステータス
終了ステータスはシェル関数の最後に実行されたコマンドの終了ステータスになる
明示的に終了ステータスを返す時にはシェルの組込コマンドであるreturnコマンドを使用する