我写了一个 bash 脚本,但由于我是一个自学的 bash 菜鸟,我想问我是否可以更有效地检查给定的参数。我也用谷歌搜索过这个并检查了这里的主题,但到目前为止我看到的例子太复杂了。在 python3 中,有很多更简单的方法,但我想在 bash 中它有点复杂。
#!/bin/bash
ERR_MSG="You did not give the argument required"
if [[ ${1?$ERR_MSG} == "a" ]]; then
echo "ABC"
elif [[ ${1?$ERR_MSG} == "b" ]]; then
echo "123"
elif [[ ${1?$ERR_MSG} == "c" ]]; then
echo ".*?"
else
echo "You did not provide the argument correctly"
exit 1
fi
只接受一个参数的脚本,该参数必须是
a
、b
或c
:如果您想进行正确的选项解析并希望接受
-a
,-b
, 或-c
作为不带参数-d
的选项,以及作为带参数的选项。测试:
选项解析在第一个非选项参数处终止,或者在
--
. 请注意,因为-d
需要一个参数,-a
所以在以下示例中被视为该参数:将此代码复制到文件中。(不要忘记
chmod +x
)这应该可以满足您的需求。然后可以添加功能用法、版本等。