我有一个 bashscript,它需要一个可选参数,如下所示,有几件事我想对其进行改进,以便我可以以不同的方式传入第一个参数(0,false 表示假值,所有其他字符串表示true,默认为 false),编写此脚本的优雅方式是什么?我想使用带有正确布尔表达式的 if 语句。
如果 [ -n "$1" ]; 然后
update_httpconf="$1";
菲
if [ "$update_httpconf" = "true" ]; 然后
echo "你好";
菲
如果你这样做是为了使第一个参数--update-httpconf算作 true,而其他任何参数都算作 false,那么它将与其他 unixey 命令行实用程序更加一致。
这可能是一个很好的起点:
while [ $# -gt 0 ]
do
case $1 in
'--update-httpconf')
update_httpconf=true
;;
*)
echo "unrecognised arg $1"; exit
;;
esac
shift
done
Run Code Online (Sandbox Code Playgroud)