【发布时间】:2015-04-07 17:03:14
【问题描述】:
问题:创建一个脚本,打开一个带有多个选项卡的终端窗口,每个选项卡需要不同的标题来标识其用途,此外每个选项卡都应显示特定的命令(不会执行命令,用户需要点击回车执行命令)。
示例:用户需要执行 3 个命令:ifconfig、route -n 和 top,用户执行脚本并打开带有 3 个选项卡的终端,第一个选项卡显示在标题 Network 和提示显示root$ ifconfig,第二个选项卡显示标题Routing,提示类似于root$ route -n,第三个选项卡显示标题Performance,提示显示root$ top。执行脚本时,命令没有运行,用户需要进入每个选项卡并手动按“Enter”来执行每个命令。
我正在使用以下脚本打开带有多个选项卡的终端,但我一直在尝试使其他功能正常工作,我们将不胜感激:
#bin/bash
tab="--tab"
cmd="bash -c 'pwd';bash"
foo=""
for i in 1 2 3; do
foo+=($tab -e "$cmd")
done
gnome-terminal "${foo[@]}"
exit 0
【问题讨论】:
-
应该是
#!/bin/bash(注意感叹号)。 -
那应该是
#!/bin/sh,并且最好避免为这样一个简单的任务使用所有 bashism。 -
@Jens,请演示如何在 /bni/sh 中安全可靠地执行此任务。
-
感谢您的回复,您是对的,这是一个拼写错误(感叹号)。
-
关于“bashisms”,是的,对于 3 个选项卡来说这是一项简单的任务,但在现实生活中,我需要打开至少 8 个选项卡,并且在每个选项卡中我需要输入一个具有大语法的不同命令,所以我正在寻找一种方法来自动化这个过程。欢迎任何建议! :D
标签: linux bash shell terminal gnome-terminal