是否可以为不同的终端窗口使用两个不同的 shell?

是否可以为不同的终端窗口使用两个不同的 shell?

除了标准终端使用外,是否可以使用其他 shell 来运行脚本?

问题是,我目前使用 fish 作为 shell,我发现它非常方便。但我想在 Ubuntu 中学习一点 shell 编程。由于这两者之间存在差异,因此最好同时使用 fish 和 bash,也许在不同的终端窗口中?我知道我可以编写一个 shell 脚本,并且必须将解释器放在开头。但对于在命令行上进行测试开发,我发现在 shell 之间快速切换或在一个会话中同时使用具有不同 shell 的两个不同的终端窗口很有用?

答案1

是的,就像 takkat 所说,您可以启动 gnome-terminal、xterm 或 kde 中的 konsole,或者按Ctrl+ Alt+F1Ctrl+ Alt+F2Ctrl+ Alt+F3等。默认情况下,所有这些都使用 bash,但您也可以同时打开 fish。

要让两者中的任何一个执行此操作:

gnome-terminal -e bash(使用 bash 启动 gnome-terminal)
gnome-terminal -e fish(使用 fish 启动 gnome-terminal)

答案2

您可以通过在命令行中运行任何已安装的 shell 来切换到它。这适用于 bash、ksh、ash、dash、fish、csh 等。它们将从原始 shell 继承登录环境。

将交互式会话作为登录会话启动将使用您登录时的 shell。如果您想要不同的登录会话,则需要在启动会话之间更改 shell。

为了您的目的,我只需打开第二个窗口并用命令替换 shell exec /bin/bash -i

答案3

您可以通过键入以下内容轻松启动两个终端窗口

gnome-terminal

在你的鱼壳里。

如果您将标准 shell 更改为“fish”,请按照 CYREX 的建议进行操作。

相关内容