如何在bash脚本中实现试运行选项?
我可以考虑将每个命令都包装在if中,然后回显该命令,而不是在脚本以空运行方式运行时运行它。
另一种方法是定义一个函数,然后将每个命令调用传递给该函数。
就像是:
function _run () {
if [[ "$DRY_RUN" ]]; then
echo $@
else
$@
fi
}
`_run mv /tmp/file /tmp/file2`
`DRY_RUN=true _run mv /tmp/file /tmp/file2`
这是错误的,还有更好的方法吗?
是的,就是这样 我想知道是否可以在bash中设置内部变量,以使命令实际上不执行,而不是通过函数传递它们
—
Andrei Serdeliuc 2010年
没有理由将这个问题标记为社区Wiki。
—
暂停,直到另行通知。
Bash是一个外壳。没有理由要进行空运行。我认为没有比您已经做的更好的方法了。
—
d -_- b 2010年
_run()
函数的功能,有时使用'set -xv',但我希望有更好的方法。