2011-08-25 126 views
29

我遇到了問題。我在尋找這個答案的很長一段時間 - 我如何在新的bash shell中運行命令並在執行這些命令後保留在這個NEW shell中。例如:在新shell中運行bash命令並在執行此命令後保留在新shell中

bash -c "export PS1='> ' && ls" 

將使新shell,導出PS1,列表目錄和...將退出到我當前的shell。我想留在新的一個。

+1

你能解釋一下你正在努力實現。也許還有其他方法可以做到這一點。 – dimba

+0

@dimba我不能說丹尼爾,但在我的情況下,我試圖SSH入我的網絡服務器,進入應用程序目錄,並打開該應用程序的軌道控制檯。 –

+0

[Invoke bash,在新shell中運行命令,然後將控制權交還給用戶]的可能的重複(http://stackoverflow.com/questions/7120426/invoke-bash-run-commands-inside-new-shell-then-給予控制返回給用戶) –

回答

32

可以實現通過類似濫用--rcfile選項:

bash --rcfile <(echo "export PS1='> ' && ls") 

bash manpage

--rcfile文件

從文件而不是系統範圍的初始化文件/etc/bash.bashrc和標準的個人初始化文件執行命令〜/ .bashrc中,如果shell是交互

+2

thx vm !!我可以用這種方式使用我的'.bashrc'文件! 'bash --rcfile <(echo「source」$ HOME/.bashrc「; export PS1 ='>'&& ls」)' –

+0

這就是我要找的。謝謝! –

-2

懶惰的一個:

bash -c "export PS1='> ' && ls; bash" 
+11

這啓動另一個shell,但不尊重新的提示。 – Jack