linux bashrc别名来打开终端并运行单个脚本

时间:2016-09-15 14:21:16

标签: linux bash alias

我正在尝试创建一个快捷方式别名,为我执行以下操作:

  1. 打开一个新的终端,在新的终端内,它将cd到一个目录并运行一个脚本。
  2. 同时,打开另一个新终端,在新终端内,它将cd到一个目录并运行一个脚本。
  3. 我尝试了以下内容:

    alias launchmystuff='cd /path/to/directory1/ && gnome-terminal &&     ./myscript1.sh; cd /path/to/directory2/ && gnome-terminal && ./myscript2.sh'
    

    这有两个问题:

    1. 打开1个终端,等待myscript1.sh在启动第二个终端之前完成。

    2. 打开并运行脚本的终端没有"拥有"正在运行的脚本别名输入的原始终端有"拥有"正在运行的脚本因此,如果我关闭任何新创建的终端,脚本将不会死亡。

    3. 理想情况下,我希望一次打开两个终端,每个终端都运行其独特的脚本,并且当我关闭各自的终端时,每个终端都会杀死脚本。

      有谁知道如何做到这一点?

      谢谢

1 个答案:

答案 0 :(得分:1)

您需要将脚本作为参数传递给gnome-terminal,而不是在启动gnome-terminal后在当前shell中运行它。像往常一样,你应该在这里使用shell函数而不是别名。

launchmystuff () {
  cd /path/to/directory1/ && gnome-terminal -e ./myscript1.sh
  cd /path/to/directory2/ && gnome-terminal -e ./myscript2.sh
}