Ubuntu shell脚本打开多个标签,加载bashrc文件

时间:2015-02-24 12:19:43

标签: bash ubuntu gnome-terminal

我正在手动执行以下步骤

  1. 打开终端(加载〜/ .bashrc)
  2. 打开6个标签
  3. 为每个标签设置标题
  4. source libray files source test.sh tab1命令,每个选项卡中包含不同的参数。
  5. 运行测试(./run.sh
  6. 我尝试使用gnome-terminal(使用以下链接)使用shell脚本自动完成上述步骤, https://askubuntu.com/questions/500357/opening-multiple-terminal-tabs-and-running-command 标签是打开但标题没有保存它正在重置,命令source ~/test.sh tab1给出错误"没有这样的文件或目录"

    代码:

    #!/bin/bash
    
    cd /media/Extra/Project
    
    tab=" --tab-with-profile=Default"
    options=(--tab --title=Terminal)
    
    cmds[1]="'source ~/test_1.sh; ./run.sh'"
    titles[1]="test_1"
    
    cmds[2]="'source ~/test_2.sh; ./run.sh'"
    titles[2]="test_2"
    
    
    cmds[3]="'source ~/test_3.sh; ./run.sh'"
    titles[3]="test_3"
    
    cmds[4]="'source ~/test_4.sh; ./run.sh'"
    titles[4]="test_4"
    
    cmds[5]="'source ~/test_5.sh; ./run.sh'"
    titles[5]="test_5"
    
    cmds[6]="'source ~/test_6.sh; ./run.sh'"
    titles[6]="test_6"
    
    for i in 1 2 3 4 5 6; do
        options+=($tab --title="${titles[i]}"  -e "bash -ic \"${cmds[i]} ; bash\"" )     
    done
    
    gnome-terminal "${options[@]}"
    
    exit 0
    

2 个答案:

答案 0 :(得分:1)

使用完整路径

source /full/path/test.sh tab1

向我们展示像tripleee这样的脚本

答案 1 :(得分:1)

双引号内的单引号导致整个字符串被解释为命令,空格和所有的名称,这当然不起作用。删除它们,你的脚本应该可以工作(虽然仍然有些笨拙)。

另见http://mywiki.wooledge.org/BashFAQ/050