簡単なkshスクリプトを書いています。文字列が空かどうかを確認する必要があります。どうすればいいですか?これは私が持っているものです:
findRes=`find . -name believe | xargs grep -q "ser"`
if [ "${findRes:-unset}" != "unset" ];then
print "${file}"
fi
emptyはcharのない文字列ですが、定義されているため、この場合
[ -z "${MyVar}" ]
nullは、アクションが失敗した場合であり、空の応答を返す場合でもありません。検索でパターンが見つからない場合は、grep -q
を[ $? -ne 0 ]
でテストできます。
if ["$ var" = ""];その後
も動作します
test
-n
オプション、またはksh
/bash
[[
... ]]
相当を使用します。
string_not_empty() { [[ -n $1 ]]; }
より強力なバリエーションは、パラメーター展開にアサーション構文を使用することです。
var=${1:?string must not be empty} || return
これによりエラーが発生し、現在の機能が中止されます