私は試験のためのシェルスクリプトを学んでおり、教師の本のある場所で彼は次の例を書いています。
# This script expects a folder path as an argument.
cd $1
if [ $? -ne 0 ]; then echo "Folder not found"; exit 1; fi
しかし別の例では、彼は次のように書いています。
# This script expects one argument
if [ "$#" -ne 1 ]; then echo "Missing Parameter"; exit 1; fi
さて、テストされた引数を二重引用符で囲まれた角括弧内に入れる必要があるのはいつですか?そうでない場合はどうなりますか?
つまり、$?この場合、数値を表します。ただし、この例の$#は、文字列ではなく数値も表します(ただし、すべてが文字列です)。しかし、なぜ$#が二重引用符で囲まれているのですか?いいえ?