8

さて、スクリプト内で(Bashを使用するのはこれが初めてです)、2つの単項演算子の予期されるエラーが発生しています。コード自体は実際には正常に機能していますが、実行時に次のエラーが発生します。

[:!=:単項演算子が必要です

ラインの場合:

if [ ${netmask[1]} != "" ]; do

${netmask[1]}したがって、最初のエラーの場合、 is ""( )のときにスローされnullます。私は複数のアイデアを試しましたが、プロセスでそのエラーを返さずにそれを機能させることはできません。


引用符(grrr)を追加して解決しました

if [ "${netmask[1]}" != "" ]; do
4

1 に答える 1

7

null変数の値を確認する場合は、次の-z演算子を使用します。

if [ -z "${netmask[1]}" ]; then

例:

VAR=""

if [ -z "$VAR" ]; then
  echo This will get printed
fi

変数を囲む括弧に注意してください:"$VAR"

于 2013-03-20T11:19:11.793 に答える