sfdisk -D $val << EOF
,,$type
EOF
执行后如何查看其状态?不是通过 if...$?,而是通过析取 ||。
我的意思是我可以执行以下操作:
ls
|| 4号导出
如果 ls 遇到错误,它将退出并显示代码 4,但在我的示例中如何执行此操作?
第二个问题是,如何在失败时执行多个命令?这样的事情可以吗?
`ls` || { echo "!!!"; exit 4 }
谢谢!
最佳答案
您实际上在问两个不同的问题...
第一个问题的答案是,将条件放在 << FOO 部分之后:
我在这里使用 && 是为了方便查看输出。但是使用这个命令集:
# cat << EOF && ( echo hi ; echo there )
foo
bar
EOF
你得到:
foo
bar
hi
there
回答你的第二个问题,你应该使用():
# bash -c 'exit 1' || ( echo hi ; echo there )
hi
there
关于bash - 多行命令和状态码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5859234/