如果 bash 中没有传递参数,如何打印帮助

bla*_*nJa 3 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
Run Code Online (Sandbox Code Playgroud)

Tob*_*ght 5

您可以像处理任何 POSIX shell 一样,通过测试$#(参数数量)魔术变量来完成此操作:

if [ "$#" -eq 0 ]
then
    usage >&2
    exit 1
fi
Run Code Online (Sandbox Code Playgroud)