假设我现在在 zsh shell 中。如果我想在 bash 中运行命令,我目前执行以下两个命令。
exec /bin/bash
# Below is my bash command
help set
如何在不将 shell 更改为 bash 的情况下用一行实现上述操作?
答案1
使用bash -c
。
-c
从第一个非选项参数读取并执行命令command_string
,然后退出。[…]
(来源)
bash -c 'help set'
请注意,在您的示例中,如果您没有使用exec
但调用了 sole /bin/bash
,则该zsh
进程不会被替换bash
,它会等到bash
终止。这意味着您可以在 Bash 中以交互方式执行您想做的事情,然后调用exit
(或按Ctrl+ D),然后您就会发现自己处于旧的 Zsh 中。