我有一个接受参数的脚本,如果未设置,则使用默认值。
VALUE=$1
if [[ -z "$VALUE" ]];
VALUE=foo #some function returns the default
fi
然后脚本继续做一些事情。
我想“增强”它并提供一些dry run
选择。所以如果通过了,我们就会有类似的东西
if [[ -z "$DRY" ]];
echo "command x y z"
else
command "x" "y" "z"
fi
我怎样才能做到这一点?
进行正确的命令行解析,然后选择如何进行实际的空运行。
命令行解析:
现在,
$dry_run
如果用户使用命令行选项true
调用脚本。-n
然后,选择如何进行干运行。一种简单的方法是使用
set -v
(在 shell 读取命令时显示命令),然后使用set -n
(实际上不运行任何东西):这可能不是您想要的,因为它只会显示脚本。
相反,您可以选择做
然后在您想试运行的特定命令前加上
$cmd
: