我正在通过 SSH 从计算机 A 到 B 运行 master.sh 文件。
此主文件调用另一个必须使用其他用户执行的 4 个片段 .sh。
我运行 master.sh,目前位于 /pathA/pathB/master.sh
ssh machineB "bash -sh" < master.sh
master.sh 调用始终位于 /pathA/pathB/ 的其他脚本
system_metrics=$(su mdm -c ./snippet1.sh)
结果:bash:./snippet1.sh:权限被拒绝 使用完整路径
system_metrics=$(su mdm -c /pathA/pathB/snippet1.sh)
结果:bash:没有这样的文件或目录
source ./listen_port.sh
check_port_mdm
该代码的结果没有这样的文件或目录
其他信息:
脚本片段 1 上 ls -l 的结果 -rwxrwxrwx 1 mdm mdm 12152
/usr/bin/ssh 上 ls -l 的结果: -rwxrwxrwx 1 root root 690952
我能做什么?
最佳答案
好的,为了结束问题从机器 A 到远程机器 B 运行 sh 文件本地脚本:
可以使用 ssh 来运行 不调用任何其他 snippet.sh 的 sh(在机器 B 上不可用)文件。
运行调用其他 snippet.sh 的 sh master(在机器 B 上不可用)文件无法使用 ssh 完成 如果 snippet.sh 在机器 B 上不可用。
关于linux - 远程权限被拒绝/未找到路径的 SSH 本地脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45234727/