shell脚本中怎么实现:暂停,按键继续?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本中怎么实现:暂停,按键继续?相关的知识,希望对你有一定的参考价值。

参考技术A

1、其中 yum install tomcat 执行过程中需要用键盘输入两次字符”y”以便确认选项,Dockerfile 脚本命令如下。

2、FROM centos MAINTAINER quicmous "xuyeping@yeah.net"。

3、RUN yes y | head -2 | yum install tomcat -y RUN echo 'Hi, I am in your container'EXPOSE 80。

4、其中 yes 命令可以无限重复产生其后面的字符”y”,head 命令只选择其中两次重复输入,也就是两个字符”y”。命令行。

5、yes y | head -2 | yum install tomcat -y,可以自动完成全部操作,中间过程不需要人工干预。

执行开始时按键连接

【中文标题】执行开始时按键连接【英文标题】:Key Press Connect at Start of Execution 【发布时间】:2018-02-02 13:31:27 【问题描述】:

我有一个包含 PyQt5 的 Python 3.6.3 脚本。 GUI 有一个按钮,用于切换视频文件的播放和暂停。按空格键还可以切换播放和暂停。该按钮一直工作正常。空格键也可以按预期工作,除了在执行脚本的一开始。在spacebar 正确触发信号以暂停或播放视频之前,我需要先单击其他事件(例如按钮或滑块)。我想在脚本启动时使用spacebar 开始播放视频。这是我在同一 __init__(self) 函数中创建连接的方法。如您所见,单击按钮并按下spacebar 都将信号连接到相同的功能(self.pauseVideo)。

self.btnPause = QtWidgets.QPushButton(self.centralwidget)
self.btnPause.clicked.connect(self.pauseVideo)

self.spacebar = QShortcut(QKeySequence(Qt.Key_Space), self)
self.spacebar.activated.connect(self.pauseVideo)

关于如何让spacebar在脚本首次启动时触发信号的建议?

【问题讨论】:

所以您想在打开工具时开始播放视频?为什么不直接在 setupUI 函数中调用 play 函数呢? 不,我不希望视频在打开时开始播放。我想使用空格键开始播放视频,而不是单击开始或暂停按钮。我有内置的键盘快捷键,我更喜欢使用它们而不是使用鼠标。所有键盘快捷键都可以正常工作,我想修复这个小例外。 那么当您尝试在开头点击空格时,窗口是否有焦点?就像如果你只点击标题栏那么空格会起作用吗?我们可能需要查看 pauseVideo() 代码。 @slalomchip。除非您提供minimal reproducible example,否则这是无法回答的。当程序启动时,键盘焦点可能被其他小部件窃取的方式有很多种。显然,您问题中的代码在一个只有一个按钮的简单示例中可以正常工作。 我必须努力开发一个最小、完整和可验证的示例。我理解为什么需要它,但希望不必创建它。当前脚本超过 600 行,不包括 QT Designer 生成的模块。同时,ENTER键也是将视频跳转到某个位置的快捷方式,没有任何问题。我在 pauseVideo() 函数中插入了一条打印语句 - 没有打印任何内容,因此永远无法达到 pauseVideo()。我将 self.spacebar.setEnabled(True) 插入到 __init__() 中,但这没有帮助。 【参考方案1】:

经过大量搜索、重新分配键盘快捷键(没有成功)等,我找到了这篇文章PyQt widget keyboard focus。我插入了

self.setFocusPolicy(Qt.StrongFocus)

进入__init__(self),它似乎解决了我的问题!现在我只是希望它不会引起其他问题。

【讨论】:

以上是关于shell脚本中怎么实现:暂停,按键继续?的主要内容,如果未能解决你的问题,请参考以下文章

如何在继续之前暂停我的 shell 脚本一秒钟?

在shell脚本中添加暂停,按任意键继续

在Java中,怎么让程序暂停执行,然后按任意键继续执行?

Shel脚本-初步入门之《02 什么是 Shell 脚本》

按键精灵判断键盘状态,是不是按下。

shell编程规范与变量