怎么管zsh阅读?

时间:2015-09-29 22:30:40

标签: shell pipe zsh

使用 bash 一切都很好:

tdy
#   ID x1  x2
# 1  1  < 0.1
# 2  2    100
# 3  3  A 2.5
# 4  4    200

但是 zsh 我遇到了麻烦:

$ yes | bash -c 'read -sn 1 -p "[Y/n] " RESPONSE ; echo $RESPONSE'
y

1 个答案:

答案 0 :(得分:3)

当使用-k选项时,除非另有说明,否则zsh的read命令将从终端读取。这在zshbuiltins联机帮助页的相应部分中进行了说明。您的管道正在为脚本提供标准输入,但这对尝试从终端读取没有影响。

您可以将-u 0添加到read的调用中,告诉它从标准输入(文件描述符0)读取,即使其他选项(例如-k)会导致它从别处读。