1. ホーム
  2. shell

文字列 null with space エラー: 二項演算子が期待されています。

2022-02-10 01:28:42
<パス

使用方法 -z または -n 変数をNULLにする場合、注意すべきは、直接 [ -n ${ARG} ] このフォームでは、もし ${ARG} にスペースがある場合、エラーとなります。

ARG="sd dd"
if [ -n ${ARG} ]; then
    echo 'ARG:' ${ARG}
else
    echo 'ARG is empty.'
fi


出力します。

line 27: [: sd: binary operator expected
ARG is empty.


明らかに正しくない

解決策としては [[ -n ${ARG} ]]] または [ -n "${ARG}" ]

参考にしてください。

https://digitalvectorz.wordpress.com/2009/12/10/bashshell-programming-binary-operator-expected/