问题描述
我有一个 bash 脚本,它使用 scp 将文件从本地复制到远程服务器。完成所有传输后,我通过 ssh 运行 chmod 命令以打开所有权限。问题是它间歇性地工作,并且不能一直正确地 chmod 777。 有什么办法可以验证 chmod 命令确实执行了(可能使用返回码或其他东西)?我确实设置了 ssh 密钥,因此在执行 ssh 或 scp 时不需要输入密码。下面是我的代码片段
#将文件从本地机器复制到远程服务器
scp file1.txt file2.txt file3.txt 10.111.222.333:/home/user1/fileDir/
#打开远程服务器的权限
ssh -qX 10.111.222.333 chmod -R 777 /home/user1/fileDir
解决方法
你可以试试:
ssh server "chmod 755 file |echo $?"
返回 0
|echo $?
正在检查所运行命令的返回码。