0

次のように、putty.exe を使用して Java コードと Windows から Unix セッションを開こうとしています。

Runtime.getRuntime().exec("cmd /c start /B C:/scripts/Session.bat ");

「Session.bat」ファイルの内容は次のとおりです。

putty.exe -t -ssh root@aaa -pw abcd -P 22

aaaはサーバー名です。 rootはユーザー名です。 abcdはパスワードです

これで、セッションは正常に開きますが、上記のコマンドからいくつかの単純なコマンド (ll -s、pwd など) を実行したいと考えています。しかし、これらのコマンドを含むtxtファイルを上記のコマンドに追加しようとすると、入力されたユーザー名の後、パスワードの前にコマンドが実行されていることがわかります。完全なコマンドは次のとおりです。

putty.exe -t -ssh root@aaa -pw abcd -P 22 -m C:\scripts\commands.txt

コマンド「ll」がパスワードの前にあるため、エラー(以下)が表示されるのはそのためです。

Using username "root".

bash: ll:: command not found

私を助けてください...ありがとう

4

1 に答える 1

0

パスワードが処理される前に、リモート コンピューターでコマンドを実行する方法はありません。確かに、ルートの bash 起動ファイルにエイリアスがありません。

alias ll='ls -l'/root/.bash_profile に追加してみてください。

于 2013-10-15T14:44:39.303 に答える