Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 使用Bash脚本启动新终端_Linux - Fatal编程技术网

Linux 使用Bash脚本启动新终端

Linux 使用Bash脚本启动新终端,linux,Linux,我正在尝试创建一个BASH脚本,该脚本将首先打开一个新终端,然后在该新终端中运行脚本的其余部分。如果可能的话,我希望这是在一个完整的脚本 我不想要konsole-e,因为这需要我制作一个单独的脚本(我想)你尝试过什么-那太棒了 这样做并不复杂: #!/bin/bash [ ! -f /tmp/$(basename $0) ] && cp $0 /tmp/ && konsole -e $0 && exit rm /tmp/$(basename $0)

我正在尝试创建一个BASH脚本,该脚本将首先打开一个新终端,然后在该新终端中运行脚本的其余部分。如果可能的话,我希望这是在一个完整的脚本


我不想要konsole-e,因为这需要我制作一个单独的脚本(我想)

你尝试过什么-那太棒了

这样做并不复杂:

#!/bin/bash
[ ! -f /tmp/$(basename $0) ] && cp $0 /tmp/ && konsole -e $0 && exit
rm /tmp/$(basename $0)
   # --- put your code here --- #

     echo "TESTING"

   # --- put your code here --- #

sleep 3s
它所做的是,将脚本复制到/tmp目录并在源脚本上运行konsole-e,删除临时文件,检查文件是否不存在,执行代码后休眠3秒钟,然后退出


你甚至可以修改/tmp/script并运行它。

我想你可以试试这个:

#!/bin/bash
echo "<your script/*eg. ./bashfile.ext*/>" | xterm
#/bin/bash
回声“| xterm”

(例如)
gnome terminal
-e
参数将很有用。关于单独的脚本,您是不正确的。(检查上
-e
的描述)因此,如果我这样做:konsole-e(下面是bash脚本的其余部分),它将在新的konsole窗口中执行脚本?我只是使用alias='konsole-e'~/Desktop/script''创建了一个永久别名。虽然你的答案正是我想要的答案,但这并不是我想要的答案。我想更好地理解它。为什么会涉及/tmp/呢?这是怎么回事?谢谢