如果bash中未传递任何参数,如何打印帮助

时间:2018-08-27 10:53:41

标签: bash shell

我创建了一个脚本,以便在运行该脚本时使用自变量。如何检查是否没有提供参数?如果没有传递参数,则必须显示打印帮助。

while test -n "$1"; do
         case "$1" in
            -help|-h)
            print_help
            exit $ST_UK
            ;;
        --version|-v)
            print_version $PROGNAME $VERSION
            exit $ST_UK
            ;;
        --activeusers|-a)
            opt_var=$2
            au
            shift;;
        --dailyusers|-d)
            opt_var1=$2
            dau
            shift;;
        *)
    echo "Unknown argument: $1"
        print_help
        exit $ST_UK
        ;;
    esac
    shift
done

1 个答案:

答案 0 :(得分:1)

通过测试$#(参数数量)魔术变量,您可以像对任何POSIX shell一样进行操作:

if [ "$#" -eq 0 ]
then
    usage >&2
    exit 1
fi