我刚开始使用bash脚本,这可能很简单,但我不确定如何做到这一点.我有一个try 在特定路径挂载磁盘的命令.DISK1被定义为特定USB端口上的特定SSD驱动器--在这里并不太重要.
/bin/mount DISK1 ${MOUNT_PATH}
现在我想判断一下安装是否成功.通常,如果成功,该表达式将返回0,但偶尔会出现读取错误,并且该表达式返回32.
if [$? -eq 0]; then
echo "Mounted DISK 1 at ${MOUNT_PATH}"
elif [$? -eq 32]; then
echo "DISK 1 read error"
else
echo "FAILED TO MOUNT"
fi
当这个脚本运行时,表达式返回为32,它转到elif块,但随后我得到了一个"没有找到命令".我这么想是因为"$?"已经被判断过了,所以你不能叫"$?"再次?
那么,如何让它再次运行mount表达式求值并执行32-eq 32比较,以便它可以运行"Disk1 Read Error"?
存储判断结果是解决这一问题的方法吗?这个代码会起作用吗?我很难测试代码,因为磁盘读取错误需要几天时间才能显示出来.
/bin/mount DISK1 ${MOUNT_PATH}
$mnt_stat = $?
if [$mnt_stat -eq 0]; then
echo "Mounted DISK 1 at ${MOUNT_PATH}"
elif [$mnt_stat -eq 32]; then
echo "DISK 1 read error"
else
echo "FAILED TO MOUNT"
fi