使用shell脚本在终端中顺序执行多个命令

a8jjtwal  于 2022-11-16  发布在  Shell
关注(0)|答案(1)|浏览(325)

我想做以下事情:
1.打开终端。
1.切换到目标脚本所在的目录。
1.打开为目标脚本提供输入的文本文件。按住/等待,直到用户保存并关闭该文本文件。
1.执行目标脚本。
我编写了以下脚本来完成上述操作:

#!/bin/bash 
echo "hello"
gnome-terminal -x bash -c "cd ~/automation/DVF99_Automation/Scripts;pwd;gedit sample.txt;python test.py;exec $SHELL"
echo "good bye"

上面给出了以下输出:

user4@user-pc-4:~/Desktop$ ./DAT_run.sh
hello
good bye

而在新打开的gnome终端上,我看到了下面的消息:

/home/user4/Scripts
From python script
From python script
From python script
From python script
From python script

上面的意思是它已经执行了python代码,并且我的要求1、2和4已经满足(不是第3个)。我无法将gedit窗口作为前台进程保存,直到它被保存并关闭(这样下一条语句只有在我关闭在gedit中打开的文件后才执行)。
这里可能出了什么问题?我是shell脚本的新手,我觉得我很可能在这里遗漏了一些东西。我如何才能达到我的所有上述要求呢?

9jyewag0

9jyewag01#

顺便说一句,你需要在后台启动gedit。
示例:

$ gedit sample.txt&;python test.py;exec $SHELL"

更好的是可变替代。

#!/she/bang
 FILE=sample.txt
 gedit $(FILE)&;python test.py;exec $SHELL"

相关问题