我正在编写一个bash脚本,并且设置了errexit,因此如果任何命令未返回0退出代码(即任何命令未成功完成),该脚本都会死亡。这是为了确保我的bash脚本是健壮的。

我必须挂载一些文件系统,将一些文件复制过来,然后将其卸载。我将umount /mnt/temp放在开头,以便在执行任何操作之前先将其挂载。但是,如果未安装,则umount将失败并停止我的脚本。

可以做umount --dont-fail-if-not-mounted /mnt/temp吗?这样,如果未安装设备,它将返回0?喜欢rm -f吗?

最佳答案

忽略返回代码的标准技巧是将命令包装在一个 bool(boolean) 表达式中,该 bool(boolean) 表达式始终计算为成功:

umount .... || /bin/true

关于linux - Bash脚本-挂载设备,但是如果未挂载则不会失败?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1378331/

10-16 00:41