视觉警告,直到任何键被按下

通过阅读这个命令,我学到了一些东西。但我确实遇到了一些问题:

1. 在不使用GNU echo的系统上(例如macOS 10.14.5 Mojave),可能不支持e选项。在这种情况下,ANSI转义码将作为文本进行回显,终端不会像这样闪烁:\e[?5h\e[38;5;1m A L E R T Thu Jun 20 16:31:29 PDT 2019 

2. 因为read命令带\忽略了前导反斜杠,所以如果用户在循环中键入一次反斜杠字符,它就不会中断。在循环中键入反斜杠两次将会像预期的那样中断。

3.在每个循环中将前景颜色设置为红色((\e[38;5;1m)。这可以在调用while之前设置一次,然后在循环中断时重置一次。

4. 当前景色中断时,不是重置前景色,而是将视频模式设置为正常(\e[?5l)。这将使终端文本保持红色,直到手动重置为止。我在这里提出的另一种选择解决了这些问题。我在macOS和Arch Linux上测试了它
.

0

linux命令:printf "\e[38;5;1m"; while true; do printf "\e[?5h A L E R T %s\n" "$(date)"; sleep 0.1; printf "\e[?5l"; read -r -s -n1 -t1 && printf "\e[39m" && break; done done break; && "\e[39m" printf && -t1 -n1 -s -r read "\e[?5l"; printf 0.1; sleep "$(date)"; %s\n" T R E L A "\e[?5h printf do true; while "\e[38;5;1m"; printf printf "\e[38;5;1m"; while true; do printf "\e[?5h A L E R T %s\n" "$(date)"; sleep 0.1; printf "\e[?5l"; read -r -s -n1 -t1 && printf "\e[39m" && break; donerootopen.com
linux命令:printf "\e[38;5;1m"; while true; do printf "\e[?5h A L E R T %s\n" "$(date)"; sleep 0.1; printf "\e[?5l"; read -r -s -n1 -t1 && printf "\e[39m" && break; done done break; && "\e[39m" printf && -t1 -n1 -s -r read "\e[?5l"; printf 0.1; sleep "$(date)"; %s\n" T R E L A "\e[?5h printf do true; while "\e[38;5;1m"; printf printf "\e[38;5;1m"; while true; do printf "\e[?5h A L E R T %s\n" "$(date)"; sleep 0.1; printf "\e[?5l"; read -r -s -n1 -t1 && printf "\e[39m" && break; donerootopen.com
egil 2019-07-09 21:25:53
输出
 A L E R T Thu Jun 20 16:31:29 PDT 2019
 A L E R T Thu Jun 20 16:31:30 PDT 2019

评论

相关推荐
共收录0条命令行
这里是记录和分享命令行的地方, 所有命令行都可以进行评论、提交替代方案.

热门文章