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