关于shell:如果在bash中没有传递参数,如何打印帮助

How to print help if no argument passed in bash

本问题已经有最佳答案,请猛点这里访问。

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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


通过测试$#变量(参数个数),您可以像对待任何posix shell那样做:

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