シェルスクリプト覚え書き シェル変数と引数 編
変数関連
- 変数の定義
file=/media/usr-name/
変数名に使えるのは アルファベット、数字、アンダースコアのみ
- 変数の参照
変数の値を参照する際には、変数名の前に$
をつける。
echo $file /media/user-name/
コマンド置換
コマンド置換を利用することで、コマンドの吐いた標準出力を文字列として取得することが出来る。
コマンド置換:$(<コマンド名>)
例 シェル変数filenameに、現在時刻を代入する
$ filename=$(date|tr ' ' '_') $ echo $filename Mon_Apr__3_14:30:20_JST_2017
コマンドライン引数を用いる
位置パラメータというシェル変数を用いることで、シェルスクリプトにコマンドライン引数を導入できる
- 位置パラメータ
$ ./hoge.sh aaa bbb
と引数付きでシェルスクリプトを実行した際、
“./hoge.sh"は$0 "aaa"は$1 "bbb"は$2というシェル変数に格納される
引数の個数(この場合は2つ)は$#、引数全体(この場合はaaa bbb)は$@というシェル変数に格納される # 具体例
位置パラメータを表示するシェルスクリプト param.sh
#!/bin/bash echo $0 echo $1 echo $2 echo $3 echo $# echo $@
実行
$ sudo chmod +x param.sh $ param.sh aaa bbb ./param.sh # $0 aaa # $1 bbb # $2 # $3(無い) 2 # $#(引数の数) aaa bbb # $@(すべての引数)