我在使用Samba的命令行命令"smbclient"时遇到了问题,我的设备是ARM架构。
我编写了一个脚本来从Windows共享中下载文件,以下是其中涉及smb的部分。
smbclient //CNAME/SNAME -I0.0.0.0 -N -c "case_sensitive; cd folder; prompt; mget file"
echo $?
我的问题在于退出代码。 如果文件被完全下载,退出代码为0(OK) 如果文件无法下载,则退出代码为1(OK) 如果测试机因下载文件而失去与共享的连接,则退出代码为0(NOT GOOD),但错误(“Lost connection ...等)将写入控制台。 (OK)
我尝试了两个不同版本。 samba-3.0.32 samba-3.6.19 两个版本都一样。
有没有人知道一个好的解决方法(或smbclient参数),让我的脚本知道下载失败了?
PS。 我检查了smbclient源代码。 看起来他们忘记设置退出代码。 因为每次出现其他错误时,他们都会设置错误消息并执行(例如 exit(1))。 但是对于超时,他们只设置Errormessage。
提前感谢你!