我可以在启动交互式 bash 会话之前指定自定义命令吗?

ale*_*xis 3 bash

请注意:虽然这个问题本质上与这个链接问题相同,但我没有将其标记为“解决我的问题”,因为那里提供的答案不是很令人满意。我在下面接受的答案更清晰、更简单。看一看!

我知道如何传递bash自定义命令来执行,例如:

bash -c "/bin/echo hello"
Run Code Online (Sandbox Code Playgroud)

当我这样做时,bash执行参数-c然后退出。我怎样才能让它在我完成后给我一个交互式提示?添加-i没有效果。我不想将自定义命令写入.bashrc始终读取的文件中。

我一直在凑合bash -c "commands; exec bash -i",但它并不理想,因为它开始了bash两次。有没有办法在bash只启动一次时获得相同的效果?

Pau*_* H. 6

您可以使用这样的--init-file选项bash --init-file <(echo "echo hello")。这根本不会提供您的.bashrc文件。如果你想要.bashrc文件来源,你可以像这样添加bash --init-file <(echo ". ~/.bashrc; echo hello")。或者您可以将所有要执行的命令放在一个文件中并使用bash --init-file file_with_commands