Linux 使用Bash脚本启动新终端
我正在尝试创建一个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)
我不想要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/呢?这是怎么回事?谢谢