#07 文字列を比較する演算子

str1 = str2 str1とstr2が等しい
str1 != str2 str1とstr2が等しくない
-n str1 str1が空文字列ではない
-z str1 str1が空文字列である

文字列を評価する例

Vimで「if-str.sh」というファイル名を作成、以下を記述、実行権限を付与する。

#!/bin/bash

file=$1
if [ -n "$file" ]; then
  touch "$file"
else
  touch "default.txt"
fi

「file」という変数に1番目の引数を格納する。
「-n」なので、変数「file」が空文字列ではない、つまり引数として何か文字列が指定されていたらif文の中身を実行する。変数「file」に格納された値でファイル名を生成する。
変数「file」が指定されなければ、「default.txt」というファイル名でファイル生成する。

シェルスクリプトを実行する

$ ./if-str.sh test.txt

実行結果。

(略)
-rw-rw-r-- 1 minecraft minecraft   0  7月 26 14:43 test.txt
(略)

シェルスクリプトの引数で指定した「test.txt」ファイルが生成されている。

シェルスクリプト の一覧