【问题标题】:How to create a shell script that asks for user input using the space bar?如何创建一个使用空格键要求用户输入的 shell 脚本?
【发布时间】:2017-11-06 16:32:51
【问题描述】:

我想创建一个 shell 脚本,要求用户使用空格键选择单选按钮。我搜索了很多,但找不到任何东西。

这是我所说的一个例子:

【问题讨论】:

    标签: shell installation radio-button


    【解决方案1】:

    有关如何记录击键,请参阅此线程:bash scripting - read single keystroke including special keys enter and space

    但是,您还需要使用需要回显提供给同一行的选项,而不是编写新行:How to show and update echo on same line

    所以在这种情况下,您的脚本将如下所示:

    #!/bin/bash
    
    SELECT=""
    while [[ "$SELECT" != $'\x0a' && "$SELECT" != $'\x20' ]]; do
        echo "Press <Space> to move selection"
        echo "Press <Enter> to confirm selection"
        read -d'' -s -n1
        echo "Debug/$SELECT/${#SELECT}"
        [[ "$SELECT" == $'\x0a' ]] && echo "enter" # do your install stuff
        [[ "$SELECT" == $'\x20' ]] && echo "space" && echo -ne "$options" # reprint options  
    done
    

    编辑:实际上printf 在这种情况下可能会更好。

    【讨论】:

    • 它对我来说不是很好,我按回车时看不到“输入”,按空格时看不到“空格”,我只能看到调试//0
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-19
    相关资源
    最近更新 更多