相关疑难解决方法(0)

如何在Linux shell脚本中提示是/否/取消输入?

我想在shell脚本中暂停输入,并提示用户进行选择.标准的"是,否或取消"类型问题.如何在典型的bash提示符中完成此操作?

linux bash shell scripting

1352
推荐指数
25
解决办法
94万
查看次数

从标准输入中捕获字符,无需等待按下输入

我永远不会记得我是怎么做的,因为它对我来说很少见.但是在C或C++中,从标准输入读取字符而不等待换行符的最佳方法是什么(按回车键).

理想情况下,它也不会将输入字符回显到屏幕上.我只想捕捉击键而不影响控制台屏幕.

c c++ inputstream

163
推荐指数
11
解决办法
19万
查看次数

bash脚本 - 读取单击键,包括特殊键输入和空格

不确定我是否应该将它放在stackoverflow或unix.stackexchange上,但我在这里发现了一些类似的 问题,所以这里就是这样.

我正在尝试创建一个由.bashrc调用的脚本,它允许我根据单个击键选择两个选项中的一个.这通常不会很难但我希望对应于这两个选项的两个键是空格并输入.

这是我到目前为止所得到的:

#!/bin/bash

SELECT=""
while [[ "$SELECT" != $'\x0a' && "$SELECT" != $'\x20' ]]; do
    echo "Select session type:"
    echo "Press <Enter> to do foo"
    echo "Press <Space> to do bar"
    read -s -N 1 SELECT
    echo "Debug/$SELECT/${#SELECT}"
    [[ "$SELECT" == $'\x0a' ]] && echo "enter" # do foo
    [[ "$SELECT" == $'\x20' ]] && echo "space" # do bar
done
Run Code Online (Sandbox Code Playgroud)

如果我按下enter,space,backspace和x,我得到的是以下输出:

:~$ bin/sessionSelect.sh
Select session type:
Press <Enter> to start/resume a screen session
Press <Space> …
Run Code Online (Sandbox Code Playgroud)

linux bash shell keystroke special-characters

8
推荐指数
2
解决办法
6861
查看次数

阅读C ex中的按键.回车键

我知道如何使用事件来测试按键的位置,但在C中我从未发现如何做到这一点.

我真正想要的是一个听取上,下,左,右键的Keylistener.我需要它在Linux中工作,所以没有Windows库.如果可能的话,不使用第三方库对我来说是最好的选择.

int main(){

//关键监听器{

// if(key == up){//做某事}

// if(key == down){//做某事}

// if(key == left){//做某事}

// if(key == right){//做某事}

//}

}

c events sdl key keylistener

1
推荐指数
1
解决办法
227
查看次数