gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 12:31:05 30 4
gpt4 key购买 nike

我想做以下事情:

  1. 打开一个终端。
  2. 切换到目标脚本所在的目录。
  3. 打开为目标脚本提供输入的文本文件。保留/等待,直到用户保存并关闭文本文件。
  4. 执行目标脚本。

我编写了以下脚本来执行上述操作:

#!/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 已经得到满足(不是第三个)。在保存并关闭 gedit 窗口之前,我无法将其保留为前台进程(这样下一条语句仅在我关闭在 gedit 中打开的文件后执行) >).

这里可能出了什么问题?我是 shell 脚本的新手,觉得我很可能在这里遗漏了一些东西。我怎样才能达到上述所有要求?

最佳答案

顺便说一句,您需要在后台启动 gedit。

例子:

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

更好的是变量替换。

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

关于linux - 使用shell脚本在终端中顺序执行多个命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43247139/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com