我正在处理的脚本以静默模式读取单个字符并将其存储到$ c
下面是一个测试器脚本,它做了一个例子:
#!/bin/bash
gracefulExit() {
echo "exiting..."
#other stuff would go here
exit 1
}
trap gracefulExit INT
while [ 1 = 1 ]
do
read -s -r -n1 c
echo "character read"
done
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是,如果你使用ctrl + c来打破脚本,shell会保持静默模式(我看不到任何我输入的内容),直到我退出它才会恢复正常.我注意到这只发生在我捕获ctrl + c之后(没有陷阱,它从静音模式中踢出).我的脚本要求我陷阱所以我可以清理.
这是4.2.10
有任何想法吗?
非常感谢您的帮助!