0

私はこの単純なスクリプトを持っていますが、これは次の行のために実行されif [ ... ] ません。誰かがこれの何が問題になっているのか教えてもらえますか?

#! /bin/sh
if [ $# -ne 2 AND $# -ne 3 ]
then
    echo "Usage $0 <input> <output> [<comment>]"
    exit 1
fi;

ありがとう!

4

1 に答える 1

2

以下を試してください:

#! /bin/sh
if [ $# -ne 2 -a $# -ne 3 ]
then
    echo >&2 "Usage $0 <input> <output> [<comment>]"
    exit 1
fi

または :

#! /bin/sh
if [ $# -ne 2 ] && [ $# -ne 3 ]
then
    echo >&2 "Usage $0 <input> <output> [<comment>]"
    exit 1
fi

bash を使用する場合:

#! /bin/bash
if [[ $# -ne 2 && $# -ne 3 ]]
then
    echo >&2 "Usage $0 <input> <output> [<comment>]"
    exit 1
fi
于 2012-10-02T22:24:12.423 に答える