2013-10-15 73 views
0

我試圖通過Java代碼和使用putty.exe窗口打開UNIX會話如下:UNIX命令在執行之前完成認證通過SSH

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

的「Session.bat」文件內容爲:

putty.exe -t -ssh [email protected] -pw abcd -P 22 

aaa是服務器名稱。 是用戶名。 ABCD是密碼

現在,會議開好,但我想從上面的命令運行幾個簡單的命令(LL -s,PWD等)。 但是,當我嘗試添加包含這些命令到上述命令的txt文件時,我看到命令正在執行後輸入用戶名稱和密碼。 完整的命令是:

putty.exe -t -ssh [email protected] -pw abcd -P 22 -m C:\scripts\commands.txt 

這就是爲什麼我得到的錯誤(如下圖),因爲命令 「ll」 的密碼來之前:

Using username "root". 

bash: ll:: command not found 

請幫我...謝謝

+3

我想這只是因爲'll'是'root'沒有的別名。如果你有'ls'而不是? – fedorqui

回答

0

在處理密碼之前,命令無法在遠程計算機上執行。當然在root的bash啓動文件中缺少一個別名。

嘗試將alias ll='ls -l'添加到/root/.bash_profile?

+0

我想它應該是'ls -l'(長列表) – SriniV

+0

確實。糾正。謝謝。 – damienfrancois

+1

@ user1630359運行您想要運行的實際命令;不要依賴別名。 –