bash中的“读取”命令不会弹出输入窗口(在没有终端的情况下运行)

时间:2019-10-07 14:54:17

标签: linux bash

在运行放置在文件浏览器scripts文件夹中的脚本以使其可以从右键单击菜单运行时,我遇到一些问题,当调用read命令时,它实际上无法产生提示用户输入的提示

有什么方法可以强制它创建提示?

这是我用来测试的代码,没什么大不了的:

#!/bin/bash
read -p "Hour " answer
hours=$answer

正在从Nemo(Linux Mint 19.2中的文件浏览器)的右键菜单中调用我的脚本,该脚本安装在/home/username/.local/share/nemo/scripts中。

read在终端上运行正常,或者使用“在终端上运行”运行脚本,但是Nemo中的右键单击菜单无法启动。

1 个答案:

答案 0 :(得分:1)

这是基于对read命令的误解。正如Tripleee和Charles Duffy指出的那样,read命令实际上无法创建自己的终端窗口。在我的操作系统上,预先安装了Zenity,因此以下内容可以代替read -p 'This is a test! ' myvar正常工作:

#!/bin/bash
myvar=$(zenity --entry --text="This is a test!")