我有一个带有一些用户输入的bash脚本。因此,为了平稳运行,可以在终端模拟器中运行(这样用户就可以进行输入)。因此,我在脚本的第一行中编写了以下命令:
#!/bin/bash
#if the script is running in background it gets visable
if ! x-terminal-emulator
then
path=$(pwd) #read current path
me="$(basename "$(test -L "$0" && readlink "$0" || echo "$0")")" #read the name of the bash script
x-terminal-emulator -- .$path/$me
exit
fi
.
.
.
它应该做什么:所以当它在终端模拟器中运行时,它不应该忽略这些语句并跳到脚本的下一个步骤,但是当它在后台运行时,它应该打开一个新的终端模拟器并在那里运行脚本。
它所做的:但是当我在终端模拟器(1)中运行它时,它会打开一个新的终端仿真器(2),其中不会发生任何事情,而在原始终端模拟器(1)中,脚本会转到接下来的步骤。
发布于 2020-06-12 11:37:45
不是这样的。相反,只需让用户通过键入命令在终端中启动脚本即可。或者,为了方便和可见的用户访问,让您的脚本启动一个.desktop文件。这将作为一个项目出现在应用程序菜单中,或者可以放在桌面上。如果包含行"Terminal=true",则可执行文件(您的脚本)将在终端模拟器中自动执行。
https://askubuntu.com/questions/1249577
复制相似问题