2016-03-02 89 views
0

所以我發現運行ssh remote "<command>"以非交互模式運行遠程shell,因此它不像源自交互式shell一樣啓動相同的啓動腳本。我的問題是,我需要在運行遠程命令時獲取這些啓動腳本,但實際上並不需要交互式shell,而只需要啓動腳本。無論如何,我可以強制非交互式shell爲交互式shell提供相同的啓動腳本?ssh遠程命令源交互式啓動腳本

+0

這將如何工作?腳本在你的本地機器上,你想在遠程shell中獲取它們的源代碼? – Mircea

+0

對不起,我希望它能夠在遠程機器上獲取腳本,在遠程shell – mtveezy

回答

0

你可以讓你的"command"做你想要的採購。例如,它可能變成". .bashrc; command"

或者你可以用bash -i "..."來調用你的命令來告訴bash以交互模式啓動,即使它通常不會有。

或者您可以傳遞BASH_ENV shell變量,該變量指向您想要的啓動腳本,因爲bash將在非交互模式下啓動該文件。

+0

中,您能否詳細說明如何讓bash以交互模式啓動?我試過'ssh remote bash -i「bin/some_script.sh」'但它仍然不起作用 – mtveezy

+0

你確定你想要的變量在你的'.bashrc'中嗎?您的示例適用於我的虛擬腳本,但如果這是您嘗試使用的名稱,它將不會執行別名。那麼你可能想看看http://stackoverflow.com/questions/1615877/why-aliases-in-a-non-interactive-bash-shell-do-not-work –

相關問題