用于在终端中运行命令,然后打开新的终端选项卡并运行另一个命令的脚本

Mik*_* K. 5 command-line bash scripts sh

我正在运行 Ubuntu 21.04,我想创建一个脚本,该脚本将执行以下操作:

  1. 跑步:

    cd && cd path/to/repo && git pull && npm i && code . && npm run dev
    
    Run Code Online (Sandbox Code Playgroud)
  2. 然后使用以下命令打开新的 GNOME 终端选项卡:

    gnome-terminal --tab
    
    Run Code Online (Sandbox Code Playgroud)
  3. 然后切换到此选项卡并运行:

    gnome-terminal --tab
    
    Run Code Online (Sandbox Code Playgroud)

所以基本上我想要一个带有 2 个选项卡的终端,运行 2 个开发服务器。

我尝试使用xdotoolxte,但它从未起作用(甚至没有按下按键)。

甚至可以做我想做的事吗?

正如下面的建议,我尝试过,它给了我,failed to run cd所以我用谷歌搜索并得出以下结果:

gnome-terminal --tab -- /bin/bash -e -c "cd path/to/repo && ls && git pull && npm i && code . && npm run dev" --tab -- /bin/bash -e -c "cd path/to/repo && git reset --hard && git pull -f && npm i && npm run dev"

但问题是它npm run dev不应该停止,因此第二个终端选项卡永远不会打开。我需要将它们一起运行......

van*_*ium 6

尽管gnome-terminal表明该-e选项已弃用,但它在 3.40.3 中仍然有效。

\n
# Option \xe2\x80\x9c-e\xe2\x80\x9d is deprecated and might be removed in a later version of gnome-terminal.\n# Use \xe2\x80\x9c-- \xe2\x80\x9d to terminate the options and put the command line to execute after it.\n
Run Code Online (Sandbox Code Playgroud)\n

开发人员似乎忘记了这是做你想做的事情的唯一方法,即在选项卡中自动设置不同的工作环境。添加要在选项末尾运行的命令的“新”语法-- 不允许这样做。删除该选项后-e,您将需要移动到另一个终端模拟器来完成类似的操作。

\n

例如,到目前为止,这仍然有效:

\n
gnome-terminal --tab -e "htop" --tab -e "top"\n
Run Code Online (Sandbox Code Playgroud)\n

将命令htop和替换top为您的自定义脚本。

\n