如何在其他terminal窗口运行script指定片段(附示例代码)
单脚本多代码片段独立终端窗口运行实现方案
核心原理是主脚本运行时,直接调用系统对应终端程序的命令行接口,传入需要执行的代码块,即可自动拉起新终端窗口运行指定内容。
不同桌面环境、操作系统的默认终端启动参数略有区别,下面是对应环境的可直接运行示例:
Linux 桌面环境示例
GNOME 桌面(Ubuntu、Fedora 等默认搭载 gnome-terminal)
把以下内容保存为.sh脚本,加执行权限chmod +x 脚本名.sh后直接运行即可:
#!/bin/bash # 拉起第1个终端执行对应命令 gnome-terminal -- bash -c 'echo "This echo command print in window 1"; read -p "按任意键关闭窗口..." -n1 -s' # 拉起第2个终端执行对应命令 gnome-terminal -- bash -c 'echo "This echo command print in window 2"; read -p "按任意键关闭窗口..." -n1 -s' # 拉起第3个终端执行对应命令 gnome-terminal -- bash -c 'echo "This echo command print in window 3"; read -p "按任意键关闭窗口..." -n1 -s'
代码末尾的read命令是为了执行完输出后停留窗口,方便查看结果,不需要的话可以直接删掉,命令跑完窗口会自动关闭。
KDE 桌面(默认搭载 Konsole)
只需要替换终端启动命令即可:
#!/bin/bash konsole -e bash -c 'echo "This echo command print in window 1"; read -p "按任意键关闭窗口..." -n1 -s' konsole -e bash -c 'echo "This echo command print in window 2"; read -p "按任意键关闭窗口..." -n1 -s' konsole -e bash -c 'echo "This echo command print in window 3"; read -p "按任意键关闭窗口..." -n1 -s'
其他第三方终端(xterm、Alacritty、Tilix 等)
逻辑完全一致,替换成对应终端的执行命令即可:
- xterm:
xterm -e bash -c '你的代码块' - Alacritty:
alacritty -e bash -c '你的代码块' - Tilix:
tilix -e bash -c '你的代码块'
macOS 系统示例
macOS 自带 Terminal 需要通过 osascript 调用:
#!/bin/bash osascript -e 'tell application "Terminal" to do script "echo \"This echo command print in window 1\""' osascript -e 'tell application "Terminal" to do script "echo \"This echo command print in window 2\""' osascript -e 'tell application "Terminal" to do script "echo \"This echo command print in window 3\""'
Windows 系统(Windows Terminal)
如果是在 Windows 下跑 bash(WSL/Git Bash),可以直接调用 wt 拉起新终端:
#!/bin/bash wt.exe bash -c 'echo "This echo command print in window 1"; read -p "按任意键关闭窗口..." -n1 -s' wt.exe bash -c 'echo "This echo command print in window 2"; read -p "按任意键关闭窗口..." -n1 -s' wt.exe bash -c 'echo "This echo command print in window 3"; read -p "按任意键关闭窗口..." -n1 -s'
如果需要运行的是多行复杂代码,直接把代码写到单引号包裹的bash -c参数里即可,和写普通shell脚本语法完全一致。
内容的提问来源于stack exchange,提问作者SHAHEEREZ
相关产品推荐
相关产品推荐

