拡張子.shのシェルスクリプトファイルに$1や$2といった表記が出てきます。
初見だと複雑に見えますが、中身はとても簡単です。
シェルスクリプトの$1と$2とは何か?
$1
と$2
は関数に渡された引数の値です。
数値は渡した引数の順番になります。
実例
次のようなファイルを用意します。
#!/bin/bash
function hello(){
echo "こんにちは $2 と $1"
}
hello taro mako
関数hello
を定義して、「こんにちは $2 と $1」を出力します。
$2には2番目に渡した引数の値、$1には1番目に渡した引数の値が入ります。
末尾の hello taro mako
でhello関数を実行しています。1つ目の引数はtaro、2つ目の引数はmakoです。
実行結果
ファイルの実行結果は次のようになります。
$ ./test.sh
こんにちは mako と taro
$0とは何か?
とは何か?
$1や$2以外にも$0という変数があります。
これは、ファイル名を呼び出す変数です。
例えば、./test.shの中に$0が記述されていれば、$0 = ./test.sh
となります。
function fileName(){
echo "実行しているファイルは$0です。"
}
fileName
▼実行結果
$ ./test.sh
実行しているファイルは./test.shです。