当命令是if
语句的一部分时,如何在外壳中将命令拆分为多行?
这有效:
if ! fab --fabfile=.deploy/fabfile.py --forward-agent --disable-known-hosts deploy:$target; then rc=1
fi
这不起作用:
# does not work:
if ! fab --fabfile=.deploy/fabfile.py \
--forward-agent \
--disable-known-hosts deploy:$target; then
rc=1
fi
而不是执行整个命令,我得到:
./script.sh: line 73: --forward-agent: command not found
更重要的是,我对Bash的了解缺少什么,这将有助于我将来了解此问题和类似问题?
终端反斜杠后是否还有空格
—
msw
\
?他们很难看。如果这样做,您可能希望查看是否可以使编辑器删除尾随空格或使其更显眼。
是的,在终端反斜杠之后是空格。完全。谢谢。
—
德米特里·明科夫斯基2013年
是的,对不起,我应该发布“错误”(意外结果)!我的错!现在编辑。
—
德米特里·明科夫斯基2013年
你的理解是什么?这也不是问题的一部分。
—
hakre 2014年
$ if ! cp -n log/server1.log \ > .; then echo no copy; fi
没有错误的情况下执行换行符\