私が書いている小さなスクリプトへのユーザー入力を検証しようとしています。2つの引数があり、最初の引数は「mount」または「unmount」である必要があります。
私は次のものを持っています:
if [ ! $# == 2 ] || [ $1 != "mount" -o $1 != "unmount" ]; then
しかし、私が望む条件を満たすには少しやり過ぎのようです。たとえば、現在の|| 演算子、バリデーターを通過するものはありませんが、&&演算子を使用するとすべてが通過します。
if [ ! $# == 2 ] && [ $1 != "mount" -o $1 != "unmount" ]; then
誰かが私がこれを理解するのを手伝ってもらえますか?
これがブロック全体と使用目的です
if [ ! $# == 2 ] || [ $1 != "mount" -o $1 != "unmount" ]; then
echo "Usage:"
echo "encmount.sh mount remotepoint # mount the remote file system"
echo "encmount.sh unmount remotepoint # unmount the remote file system"
exit
fi