私はこれを行う方法があることを知っていますが、インターネット検索は常にひどい結果を生み出します。
私がしたい:
if [[ ! -z "$var" ]]; then
# ....
fi
しかし、今は覚えていません。次のような気がします。
if [[ -p "$var" ]]; then
# ....
fi
または次のようになります。
if [[ -n "$var" ]]; then
# ....
fi
誰もが検索エンジンに表示される良い答えを提供できますか?タイトルを最適に編集すると役立つことを願っています。
答え1
-n
テスト(「与えられた文字列の長さが0の場合はtrue 」)とは対照的に、テスト-z
(「与えられた文字列の長さが0以外の場合はtrue」)を実行する必要があります。
テスト-p
はまったく異なります(「指定されたファイルが存在し、名前付きパイプの場合はtrue」)。
bash
インタラクティブシェルに次のように入力してこの情報を取得できます。
help test
test
これにより、組み込みユーティリティのドキュメントが提供されます(これは[
; seeの別の変形であり、; seehelp [
と[[
同じテストを使用しますhelp [[
)。 「」というタイトルの文書に記載されているbash
システムマニュアル()も表示できます。man bash
条件式」。
したがって、あなたのコードは次のいずれかになります
if [[ -n $var ]]; then ...; fi
if [ -n "$var" ]; then ...; fi
if test -n "$var"; then ...; fi
そう言えばあまり問題ないようだが。
if [[ ! -z $var ]]; then ...; fi
たとえば、値が空であることを確認し、値が空でない場合は、エラーメッセージを出力したい場合です。その後、コードは次の意図を記録します。空ではない、何か問題があります」。