2011-08-25 66 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