以下mount cifs
代码工作正常:
sudo mount -t cifs //192.168.1.77/something /mnt/192.168.1.77/something \
-o username=alpha,rw,uid=alpha,gid=tango,dir_mode=0770,file_mode=0770,nounix,sec=ntlmssp
通过在终端中执行的 shell 脚本出现一个新行:
� Password for alpha@//192.168.1.77/something:
如果密码正确,则终端不会写入/放置/显示任何内容,并且目录已按预期挂载。但是如果密码不正确,它会显示
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) and kernel log messages (dmesg)
我想创建一个循环迭代始终 while: 如果终端中出现任何错误消息以再次执行命令并因此要求输入密码。当然,如果密码正确并且mount cifs
返回的内容表明一切正常,则必须停止循环。
如何做到这一点?我试过命令替换:
result=$(sudo mount -t cifs //192.168.1.77/something /mnt/192.168.1.77/something \
-o username=alpha,rw,uid=alpha,gid=tango,dir_mode=0770,file_mode=0770,nounix,sec=ntlmssp)
echo "result: '${result}'"
并发生以下情况:
# Valid password scenario
� Password for alpha@//192.168.1.77/something:
result: ''
# Invalid password scenario
� Password for alpha@//192.168.1.77/something:
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) and kernel log messages (dmesg)
result: ''
即使使用命令替换,您也无法看到预期的效果。结果变量总是为空。
不确定是否存在mount cifs
该启用的参数返回一些东西然后让结果变量显示一些东西
为什么不只测试$?它应该包含 mount 的退出代码,在这种情况下应该是 13 或 0 如果成功。
如果您想要一条错误消息,请运行
errno $?
,尽管您可能必须errno
从某个软件包进行安装。