【14.名前を使用してコマンドラインから引数を取得する】ざっくりわかる「シェルスクリプト」

名前を使用してコマンドラインから引数を取得する

コマンドラインから名前付きの引数を取得:
名前付きのコマンドライン引数を読み取る方法を示します。‘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

書籍の紹介

【13.コマンドラインから引数を取得】ざっくりわかる「シェルスクリプト」

【13.コマンドラインから引数を取得】ざっくりわかる「シェルスクリプト」

【15.変数に2つの文字列を組み合わせる】ざっくりわかる「シェルスクリプト」

【15.変数に2つの文字列を組み合わせる】ざっくりわかる「シェルスクリプト」