2

リモートサーバーでいくつかのユーザー定義コマンドを実行する必要があります。だから私は次のことをします。crontab -lls、などの多くのコマンドで機能しますdate +%s...ただし、機能しませんip addr

実際にそれらのサーバー内でsshすると、正常にip addr動作します。しかし、sshを使用して実行すると、そうではありません。

これが私がそれを実行する方法です。

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

繰り返しますが、これは、これまでに試したすべてのコマンドで機能しますip addrip addr次の出力が得られるため

bash: ip: command not found

だから私はなぜだろうと思っていました.

また、rsync私が働いている環境にはそれらがなく、インストールする権限もないため、またはその他のデフォルト以外の Linux コマンドの使用を提案しないでください。

前もって感謝します

4

1 に答える 1

3

これは、非対話型の ssh セッションがログイン プロファイルをソースとしないために発生します。これは、特にPATH変数を設定しています。

デフォルトのパスには、コマンド/sbinの通常の場所である が含まれていません。ip

于 2013-11-14T17:05:52.537 に答える