名前を使用してコマンドラインから引数を取得する
コマンドラインから名前付きの引数を取得:
名前付きのコマンドライン引数を読み取る方法を示します。‘command_line_names.sh’という名前のファイルを作成し、次のコードを追加します。ここで、XとYの2つの引数がこのスクリプトによって読み取られ、XとYの合計が出力されます。
#!/bin/bash
for arg in "$@";do
index=$(echo $arg | cut -f1 -d=);
val=$(echo $arg | cut -f2 -d=);
case $index in
X) x=$val;;
Y) y=$val;;
*)
esac
done
((result=x+y));
echo "X+Y=$result";
bashコマンドで二つのコマンドライン引数を使用して、ファイルを実行します。
$ bash command_line_names.sh X=45 Y=30
X+Y=75
$
- ヒント
- case文で入力された文字列の大文字と小文字に対応する。
- または文字列に対応する場合は以下のソースを見て欲しい。
- レベルアップしたソースコードはささいな気遣いから生まれる
#! /bin/bash
case "$1" in
[Yy]|"yes") #Y、yまたはyesという文字列
echo "YES"
echo "OK"
;;
[Nn]|"no") #N、nまたはnoという文字列
echo "NO"
;;
*)
echo "undefined";;
esac