我使用&&amp ;;安装多个软件包如果前一个操作失败,则停止执行后续操作的操作符。 &安培;&安培;当所有单行写入时,函数正在工作。
但是当他们逐行写作时,&&功能不起作用,我收到错误。 我的代码是这样的:
var text = selectList.Where(q => q.Selected == true).First().Text;
错误是:
yum -y install XXZ \
&& yum -y install rsync \
&& yum -y install libxml2-devel \
&& yum -y install ntp
如果使用&&&&当命令逐行写入(不是单行)时,运算符。?
请帮助!
答案 0 :(得分:0)
$?存储最后一个命令的退出代码。您可以在脚本中执行以下操作:
yum -y install XXZ
if [[ $? != "0" ]] ## exit code other than zero
then
## your code for failure
exit
fi
yum -y install rsync
if [[ $? != "0" ]]
then
## your code for failure
exit
fi
对所有包都这样做。 我建议你制作一个数组并使用for循环。 退出代码零意味着成功。希望这有帮助。
答案 1 :(得分:0)
yum -y install XXZ &&
yum -y install rsync &&
yum -y install libxml2-devel &&
yum -y install ntp
或
yum -y install XXZ && \
yum -y install rsync && \
yum -y install libxml2-devel && \
yum -y install ntp
我正在使用NotePad ++。将EOL转换从Windows修改为格式化为UNIX \ OSX后。执行上面的代码。 编辑 - > EOL转换 - > UNIX \ OSX格式。并保存文件。
答案 2 :(得分:0)
除了其他解决方案,您还可以使用:
if ! yum -y install XXZ ; then
# command failed, do what you want
exit
fi
if ! yum -y install rsync ; then
# command failed, do what you want
exit
fi
等