2011-05-02 67 views
2

我在哪裏工作,我們有一個命令執行命令,讓我們把它kuku,即調用時,轉移我到一個新的外殼。即,我得到:在不同的外殼

old_shell> kuku 
kuku> exit 
old_shell> ... 

我需要在kuku shell中運行某個腳本,但我不想手動輸入和/或呆在那裏。即,我想使用類似kuku; <do stuff>; exit;的東西。但是,這將不起作用,因爲一旦它進入kuku,它不會得到其他命令。

有什麼辦法打開外殼,給它一些命令,並自動退出?

回答

4

這在很大程度上取決於如何kuku作品。如果kuku或多或少與其他shell兼容,那麼kuku -c "cmd1; cmd2"應該工作。

另一種方法是將kuku的命令放入文件script.kuku,然後使用kuku < script.kuku運行該命令。

最後,expect或其任何克隆的可用於自動執行幾乎任何命令。

1

kuku的文檔應告訴您如何將命令傳遞到kuku外殼以執行(例如,使用腳本文件,使用標準輸入,嘗試man kuku)。如果庫庫不提供這些功能,您可能需要查看Expect

0

假設您有名爲mostlyharmless.sh說:「做的東西」,那麼你會寫ssh [email protected] 'bash -s' < mostlyharmless.sh SSH的例子shell腳本。如果你更具體地瞭解shell,回答你的問題會更容易。所有這些工作有一點不同......