请注意:虽然这个问题本质上是一样的这个链接的问题,我没有将其标记为“解决我的问题”,因为那里提供的答案不是很令人满意。我在下面接受的答案更干净、更简单。看一看!
我知道如何传递bash
要执行的自定义命令,例如:
bash -c "/bin/echo hello"
当我这样做时,bash
执行 的参数-c
然后退出。我怎样才能让它在完成后给我一个交互式提示?添加-i
没有效果。我不想将自定义命令写入.bashrc
始终读取的文件中。
我一直在凑合使用bash -c "commands; exec bash -i"
,但它并不理想,因为它启动了bash
两次。有没有办法bash
只启动一次就能达到相同的效果?
答案1
您可以使用--init-file
这样的选项bash --init-file <(echo "echo hello")
。这.bashrc
根本不会来源您的文件。如果您想要.bashrc
源文件,您可以像这样添加bash --init-file <(echo ". ~/.bashrc; echo hello")
。或者您可以将所有要执行的命令放在一个文件中并使用bash --init-file file_with_commands