【问题标题】:Gnome Terminal: How to open up multiple tabs, execute commands and return to zsh/bashGnome 终端:如何打开多个选项卡、执行命令并返回 zsh/bash
【发布时间】:2018-03-27 00:22:59
【问题描述】:

我正在尝试自动化我的早晨启动过程。通常我会启动多个正在运行的脚本,我将退出(使用 ctrl+c)并根据需要手动重新启动。

所以我想创建一个 bash 脚本,

  1. 开始gnome-terminal
  2. 打开一些选项卡并执行一些 命令
  3. 在脚本退出或完成后返回 zsh,这样我就可以 手动输入更多命令

目前我有,

#!/bin/bash

gnome-terminal \
--tab -t "Server" -e "bash -ic \"cd ~/Dev/server; npm start; exec zsh\"" \
--tab -t "Framework" -e "bash -ic \"cd ~/Dev/framework; npm start; exec zsh\"" \
--tab -t "Client" -e "bash -ic \"cd ~/Dev/client; npm start; exec zsh\"" \
--tab -t "Admin" -e "bash -ic \"cd ~/Dev/admin;npm start; exec zsh\"" 

这个解决方案的问题是标签可能会也可能不会跳回 zsh。有时 3 个选项卡,有时 1 个。理想情况下,我希望所有 4 个都回到 zsh。

如果有人能帮助我解决这个问题,我将不胜感激。

【问题讨论】:

  • 为什么不将你的shell设置为zsh
  • 我的shell默认设置为zsh。我试图在每个选项卡的末尾用exec zsh 替换关闭的bash -ic 命令,这样它们就不会退出

标签: bash terminal zsh gnome gnome-terminal


【解决方案1】:

您可以将gnome-terminal 排除在外,但它仍然不起作用:

bash -ic "npm start; bash"

按 Control-C,你不会得到一个 shell。对于bash,我们可以使用--rcfile 选项来解决这个问题:

bash --rcfile <(echo "npm start")

这样我们读不到真正的.bashrc,所以既然我们可能想读那个,让我们稍微修改一下:

bash --rcfile <(echo ". ~/.bashrc; npm start")

另一方面,对于 zsh,它不适用于等效(?)--rcs 选项,但它在以 ZDOTDIR 变量启动时有效。所以我们为每个~/Dev/server~/Dev/framework~/Dev/client~/Dev/admin创建一个.zshrc,内容如下:

第一:

. ~/.zshrc
cd ~/Dev/server
npm start

第二:

. ~/.zshrc
cd `~/Dev/framework`
npm start

等等

您的gnome-terminal 命令将如下所示:

gnome-terminal \
--tab "Server" -e "sh -c 'ZDOTDIR=/path/to/directory/containing/first/.zshrc'" \
--tab "Framework" -e "sh -c 'ZDOTDIR=/path/to/directory/containing/second/.zshrc'"
# etc

【讨论】:

  • 感谢您的回复。我尝试了bash --rcfileZDOTDIR=~/.../.zshrc 这两种解决方案,但是它们似乎都不起作用。我使用了第二个 ~/Dev/framework/.zshrc 示例和带有 1 个选项卡的 gnome-terminal启动结果: bash node.sh - 警告:DESKTOP_STARTUP_ID 未设置且没有可用的后备。 zsh node.sh - 与 bash sh node.sh 相同 - 在我的机器上别名为 bash (fedora)
  • 嗯,node.sh 是什么?你能给我你的 Fedora 版本和你的 gnome-terminal 版本吗?
猜你喜欢
  • 2014-11-25
  • 1970-01-01
  • 1970-01-01
  • 2010-11-14
  • 2023-03-17
  • 2014-10-10
  • 2016-02-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多