我想在服務器登錄時自動運行多個命令,如sudo bash,ssh server01,ls,cd/tmp等.. 我在putty中使用SSH下的遠程命令選項。是否可以在putty中使用遠程命令選項運行多個命令?
我試着用分隔符& &但不工作的多個命令。
我想在服務器登錄時自動運行多個命令,如sudo bash,ssh server01,ls,cd/tmp等.. 我在putty中使用SSH下的遠程命令選項。是否可以在putty中使用遠程命令選項運行多個命令?
我試着用分隔符& &但不工作的多個命令。
有一個缺乏你的問題的一些信息。
你說你想運行sudo bash
,然後ssh server01
。
請問sudo在你的遠程服務器上提示輸入密碼?
假設sudo中沒有密碼,運行bash會打開另一個shell等待用戶輸入。命令ssh server01
將不會運行,直到該bash shell退出。
如果要運行2個命令,首先嚐試簡單的像:
ls -l /tmp ; echo "hi there"
或者如果你喜歡:
ls -l /tmp && echo "hi there"
工作的呢?
如果你想要的是運行運行bash之後SSH,你可以嘗試:
sudo bash -c "ssh server01"
我試過更簡單的一個,但那也行不通.. –
這很奇怪,它爲我工作。你嘗試過哪些命令?你在控制檯上看到什麼? – carnicer
這可能是因爲該命令有望成爲一個程序名稱後面的參數,這將直接傳遞給程序。爲了得到由一個命令行解釋諸如bash
提供&&
和其他功能,試試這個:
/bin/bash -c "command1 && command2"
不工作... 只執行第一個命令.. –
@AmanAggarwal:嘗試使用雙引號(我編輯了文章),我剛剛驗證,我的機器上工作。 –
不工作... 其實我想運行「sudo bash && ssh server01」 sudo bash還有其他問題嗎? –
您可以使用常規的shell語法PuTTY中執行兩個連續命令。例如。使用;
或&&
。
但要在sudo bash
shell執行ssh server01
,對不對?
這些不是兩個連續的命令,它是sudo bash
內執行的ssh server01
命令。
所以,你必須使用一個sudo
命令行語法來執行ssh server01
,像
sudo bash ssh server01
我想我在我以前的答案建議。
可以在由膩子分隔的膩子中運行2個簡單命令。正如在我的例子中,我嘗試了ls和echo。遠程服務器運行它們,然後會話關閉。
我也嘗試SSH配置爲不要求密碼的遠程服務器。在這種情況下,它也可以工作,我可以連接到第二臺服務器,並且可以在其上運行命令。退出後,2個連接關閉。
所以,請讓我們知道你真正需要/想要什麼。
我想用膩子連接自動運行兩個命令.. 第一個命令sudo bash需要密碼,然後ssh到另一個服務器。 –
還有任何傳遞密碼的解決方案? –