![是否可以为不同的终端窗口使用两个不同的 shell?](https://linux22.com/image/1033883/%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E4%B8%BA%E4%B8%8D%E5%90%8C%E7%9A%84%E7%BB%88%E7%AB%AF%E7%AA%97%E5%8F%A3%E4%BD%BF%E7%94%A8%E4%B8%A4%E4%B8%AA%E4%B8%8D%E5%90%8C%E7%9A%84%20shell%EF%BC%9F.png)
除了标准终端使用外,是否可以使用其他 shell 来运行脚本?
问题是,我目前使用 fish 作为 shell,我发现它非常方便。但我想在 Ubuntu 中学习一点 shell 编程。由于这两者之间存在差异,因此最好同时使用 fish 和 bash,也许在不同的终端窗口中?我知道我可以编写一个 shell 脚本,并且必须将解释器放在开头。但对于在命令行上进行测试开发,我发现在 shell 之间快速切换或在一个会话中同时使用具有不同 shell 的两个不同的终端窗口很有用?
答案1
是的,就像 takkat 所说,您可以启动 gnome-terminal、xterm 或 kde 中的 konsole,或者按Ctrl+ Alt+F1或Ctrl+ Alt+F2或Ctrl+ 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 的建议进行操作。