【问题标题】:Chmod command over remote server using ssh NOT working使用 ssh 的远程服务器上的 Chmod 命令不起作用
【发布时间】:2021-08-21 15:48:27
【问题描述】:

我有一个 bash 脚本,它使用 scp 将文件从本地服务器复制到远程服务器。完成所有传输后,我在 ssh 上运行 chmod 命令以打开所有权限。问题是它间歇性地工作并且不能一直正确地 chmod 777。 我有什么方法可以验证 chmod 命令是否确实执行(可能使用返回码或其他东西)? 我确实设置了 ssh 密钥,因此在执行 ssh 或 scp 时不需要输入密码。下面是我的代码的sn-p

#将文件从本地机器复制到远程服务器

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 命令的退出码应该反映chmod 命令的退出码——也就是说,如果chmod 出错,ssh 也应该返回一个非零码。

标签: bash ssh scp chmod


【解决方案1】:

您可以尝试: ssh server "chmod 755 file |echo $?"

这将返回 0

|echo $? 正在检查运行命令的返回码。

【讨论】:

  • 如果文件或目录不存在并且您使用 |echo $ 在 ssh 上运行 chmod?您将获得退出状态 1,因为没有文件或目录存在,如果事情按预期工作,您将获得退出代码 0
猜你喜欢
  • 2016-06-05
  • 1970-01-01
  • 2017-06-10
  • 2022-10-15
  • 1970-01-01
  • 2015-05-20
  • 2012-11-20
  • 2017-10-02
  • 2013-11-22
相关资源
最近更新 更多