シェルスクリプトの条件式や演算子におけるメモ
12月 25, 2009
LinuxやUNIXで書くシェルスクリプト。基本的なこともすぐ忘れてしまうので…、
というかそもそも覚えていないのでここにメモ。
以下、ファイルの判定におけるtestコマンドで使う条件式一覧。

条件を反転させるには「!」マーク。
例えば/var/run/mysql.sockが存在しない場合の処理を定義する。
if [ ! -e /var/run/mysql.sock ]; then
:
:
比較対象の文字列はダブルクォーテーションで囲んでおかないと動作しない、と思われる。
if [ -n "${VAL}" ] ; then
:
:
if [ ${VAL} = "Hello" ] ; then
:
:
数値の比較には、数値比較演算子ではなく上記の関係演算子を利用することも可能。
その場合は以下のように「(( ))」を使用する。
真の場合には1が、偽の場合は0が返されることに注意する。
$ echo $((3 != 2))
1 ←3は2と等しくないので真
echo $((3 != 3))
0 ←3は3と等しいので偽
補足
上記を応用して計算させることができる。例えば++で、値をひとつ増やす。
$ NUM=10
$ echo $NUM
10
$ ((NUM++))
$ echo $NUM
11
プラスをマイナスに変えれば逆に値をひとつ減らす。
他にもいろいろできるかもしれないが、取り急ぎこれだけ。
Categories: shell


