2

我必须在远程服务器上运行一些用户定义的命令。所以我做了以下。它适用于许多命令,例如crontab -l, ls,date +%s等...但是,它不适用于ip addr

当我实际上 ssh INSIDE 那些服务器ip addr工作正常。但是当我使用 ssh 执行它时,它不会。

这就是我执行它的方式。

$ sshpass -p myPassword ssh -q root@127.0.0.1 'ip addr' > $PWD/tmp
$ cat $PWD/tmp

同样,这适用于我迄今为止尝试过的任何命令,除了ip addr. 因为ip addr它给出了以下输出

bash: ip: command not found

所以我想知道为什么,如果我做错了什么......

另外,请不要建议使用rsync或任何其他非默认 linux 命令,因为我工作的环境没有它们,我也没有安装权限。

先感谢您

4

1 回答 1

3

这是因为非交互式 ssh 会话不会获取您的登录配置文件,其中包括设置您的PATH变量。

默认路径不包含/sbin,这是ip命令的常用位置。

于 2013-11-14T17:05:52.537 回答