shell - 从 ZSH 中读取的内容检测回车按键

标签 shell zsh

如何使用内置的 read 检测 ZSH 中的 Enter 按键?也就是说,如何使下面的代码片段打印“Got Enter”

# Read 1 char.
read -k 1 "REPLY?$Make fooBar? [Yn]: "

if [[ "$REPLY" == '\n' ]]; then
  print "Got enter"
else
  print "Got other char: '$REPLY'"
fi

上下文:我正在构建一个比 ZSH 中的 read -q 提供的稍微更灵活的是/否提示器。

最佳答案

使用 ANSI 引用:

if [[ $REPLY == $'\n' ]]; then

$'...' 类似于单引号,但某些转义字符具有特殊含义:\n 是换行符,\t 是制表符,\\ 是文字反斜杠,\' 是文字单引号,等等。

关于shell - 从 ZSH 中读取的内容检测回车按键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43859348/

相关文章:

swift - 从 Xcode 调试应用程序时,从终端命令获取相同的 PATH 环境变量?

linux - 如何在 shell 脚本中显示参数

shell - 如何在 Oozie 中使用配置单元操作运行 shell 脚本?

c - dup2 导致程序停止

shell - 使用命令的输出为 zsh 生成自动完成命令

git - 如何使用 ansible 自动化点文件设置/管理?

git - 有没有办法查看 .git 文件夹,并在它发生变化时更新我的​​ git 日志?

linux - 替换 sad "z"- 行解析

bash - 现有的 fd 是否总是被复制为输入和输出?

zsh - 在 Zsh 中点击 Tab 会超过行