2017-05-07 73 views
0

我需要在后台运行的脚本,等待按下某个键。我有一个脚本,当终端打开时工作。当我尝试使用&时 - 它无法正常工作。该脚本在后台运行,但按键不起作用。当我尝试使用nohup然后我有read的错误 - 描述符不好。 有人可以帮我吗?在后台运行的Bash脚本,正在等待密钥

回答

1

当终端打开(并且被选中,如果终端仿真程序在x服务器上运行),输入(按键敲击等)被引导到终端;因此,你的程序工作。

现在,考虑一个例子:假设您创建了一个在后台运行的脚本,并且通过按下字母“a”来激活它。如果按“a”触发了脚本(终端关闭),那么用户将永远无法(例如)在不触发脚本的情况下在字文档或Web搜索中键入字母“a”!

因此,您正在寻找的是key bindkeyboard shortcut,它将绑定一个密钥(组合),如ctl+j+k以启动您想要的脚本。

在Linux中,这可以轻松完成,请参阅this for Ubuntuthis for Lubuntu

重要提示:,如果你的脚本需要root权限才能正常工作,那么你通常会通过gksugksudo唤起它,否则它不会运行