unix 在使用 @host 命令执行 sshpass 时抛出错误“sh: mntroot: not found”,如何解决这个问题?

unix 在使用 @host 命令执行 sshpass 时抛出错误“sh: mntroot: not found”,如何解决这个问题?

我的要求:我想用 sshpass 命令传递一些命令。例1:

sshpass -p 'sshpass' ssh -oKexAlgorithms******* user@host touch /mnt/us/pass

上面的 sshpass 示例完美运行。

例2:

sshpass -p 'sshpass' ssh -oKexAlgorithms******* user@host mntroot rw

在上面的示例中,在主机中我必须授予mntroot rw登录用户启用读写权限。当我使用 sshpass 命令传递并抛出sh: mntroot: not found错误时,此命令不起作用,但当我登录并手动输入时,它在主机中完美运行。

请帮助我。

答案1

一种解决方案是mntroot使用完整路径进行调用。

交互式 shell 和非交互式 shell 使用不同的初始化文件。也许就是这个原因。当你登录系统时,你显然会得到不同的PATH值。

相关内容