シェルスクリプトでの四則演算
足し引き割に関しては
“で囲んで
expr の後に計算式をかけばOK
例えば
x=10
#足し算
echo `expr $x + 10`
#引き算
echo `expr $x – 5`
#割り算
echo `expr $x / 5`
とすれば
20
5
2
となる
注意するのは掛け算
• はワイルドカード扱いのため
\* というようにする
#掛け算 \* でないとエラー
echo `expr $x \* 10`
これで100になる
また、四則演算で()を用いて優先順位を
つけるときにも
() は \( \) というようにしないとエラーになるので注意
#四則演算の優先順位指定
echo `expr \( $x + 5 \) \* 2`
とすると
(10+5)*2 となり30になる
この\( と \) についても、
前後にスペースを開けないと違う結果になってしまうので注意
echo `expr \($x + 5 \) \* 2`
とすると
expr: 整数でない引数
になってしまう
あと、シェルスクリプトの場合、
変数宣言のときに
readonly をつけることで
値に代入できなくすることで
ファイルパスが変更されたりすることを防ぐことができる
#読み込み専用変数
readonly FILE_NAME=”hello.sh”
とした後で
FILE_NAME=”test.sh”
として実行すると
./enzan.sh: 行 23: FILE_NAME: 読み取り専用の変数です
というようにエラーがでて書き込めないのが確認できる