参见以下代码
stty cbreak -echo
input==`dd if=/dev/tty bs=1 count=1 2>/dev/null`
stty -cbreak echo
if [ "$input" = "a" ];then
echo "the input is a"
fi
如何确定输入是否为shell下的backspace。换句话说,退格的符号是什么。
最佳答案
如果您无法在编辑器中插入文字退格字符,则可以使用echo -ne '\b'
。这告诉echo禁止发出换行符,并将一些反斜杠转义序列解释为特殊字符。\b
是退格:
if [ "$input" = $(echo -ne '\b') ];then
当我使用
vi
时,我可以使用按键^V^H
将退格字符输入脚本。在emacs
中,它将是C-q C-h
。if [ "$input" = "^H" ];then
关于linux - 如何确定输入是否为退格键,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18425497/