我制作了一个 bash 脚本,它接受用户的输入:
#!/bin/bash
# mnthere - mounts virtual box share in current working directory
echo Enter the source share name:
readline NAME
sudo -- mount -t vboxsf -o rw,uid=1000,gid=1000 $NAME $0
但是当我双击它时,什么也没有发生。它在后台执行,可能会因错误而失败。我需要配置它以显示该窗口,我该怎么做?这与我使用的 XFCE4 桌面环境有关吗?
答案1
如果您不想修改启动器,可以在脚本的开头检查它是否正在终端中执行。如果不是,请打开终端并在那里重新启动脚本。在脚本的顶部:
if [ ! -t 1 ]; then
args=''
for arg in "$@"; do
args="$args \"${arg//\"/\\\"}\""
done
xfce4-terminal -e "$0 $args"
exit 0
fi
然后,如果有任何终端输出要显示给用户,请将其添加到底部:
read -n1 -u1 -rp 'Press any key to close this window.'
答案2
启动 xterm 运行您的脚本,而不是仅仅运行您的脚本,并添加一个read
命令,例如停止输出并能够读取。
gnome-terminal -x your_script
答案3
如果您编辑启动器(右键单击,选择属性,然后单击编辑按钮),选项之一将是“在终端中运行”复选框。
检查一下,您的脚本现在将在终端中运行。