【发布时间】:2018-12-26 16:41:31
【问题描述】:
我正在尝试编写一个简单的sh 脚本,该脚本必须使用 2 个参数调用:
sh myscript.sh --user "some user" --fizz "buzz"
在myscript.sh的顶部我有:
#!/bin/sh
# VALIDATION
# 1. Make sure there are 5 positional arguments (that $4 exists).
die () {
echo >&2 "$@"
exit 1
}
[ "$#" -eq 5 ] || die "5 arguments required, $# provided"
# 2. Make sure $1 is "-u" or "--user".
# 3. Make sure $3 is "-f" or "--fizz".
如果验证失败,我想打印一条简单的使用信息,然后退出脚本。
我认为我有 #1 正确(检查 # 个位置参数),但不知道如何实现 #2 和 #3。想法?
【问题讨论】:
-
您的问题是“如何在 shell 脚本中比较字符串?”或“如何解析命令行参数?”
标签: shell validation command-line-arguments