#! /bin/bash
echo "Please input 2 nums: "
read a b
if [ -z $b ]; then
echo b is zero !
fi
if [ -n $b ]; then
echo b is non-zero !
fi
スクリプトを実行するときは、入力1の数字だけを入力し、もう一方は空のままにして、次にbをnullにします。両方のエコーが出力されます。test -nとtest -zの両方がtrueの場合
-laptop:~$ ./test.sh
Pleaes input 2 nums:
5
b is zero !
b is non-zero !
bは、ヌルでもなくヌルでもありません。誰でもこれについてコメントできますか?ありがとう!
〜
+1、および実際の出力:
は、これはまた、関数型プログラミングのようなものを持っていることを意味します。がんばろう! – shellter
あなたがBashだけのために書いているのなら、あなたは '['条件を '[['。ここで推奨されている読書:http://mywiki.wooledge.org/BashFAQ/031 –
あなたはここに競合状態があります。ファイルサイズは、2つの 'if'テストの間にディスク上で変更される可能性があります。コードに実際にこの形式がある場合は、代わりに 'else'を使用してください。 –