tjinjin's blog

インフラ要素多めの個人メモ

シェルスクリプトの空文字チェック改++

昔に書いた記事が見にくかったので、作り直します。

最近シェルスクリプトを書けと言われていろいろ試行錯誤していまして、

使えそうな情報をまとめておきます。

シェルでパラメータの空文字チェックを行う際、今までは

if文を使ってこんな感じでやってました。

#!/bin/bash

if [ "${}" = "" ];then
    echo "空文字"
fi

if [ -z "${}" ];then
    echo "空文字"
fi

if [! -n "${} ];then
    echo "空文字"
fi

それぞれの記号の意味はまとまっているサイトがあるのでそちらをご参照ください。
if 文と test コマンド - UNIX & Linux コマンド・シェルスクリプト リファレンス


次は、if文を使用しない方法です。(bashの機能だったように思います。)

echo ${aaa:?"空文字"}
bash: aaa: 空文字

これは厳密には空文字チェックというか、変数が空の場合は
上記のような形でエラーが返ってきます。


他にもいろいろなパラメータ展開があります。
bash パラメータ展開 webzoit.net


こんな機能があるんだと思っておけばいいと思います。