A opção –p
não significa o mesmo que o comando interno bash
' read
'
e o comando interno zsh
read
.
No comando zsh
read
, –p
significa –– palpite –– “A entrada é lida no coprocess.”
Sugiro que você exiba seu prompt com echo
ou printf
.
Você também pode precisar substituir –n 1
por –k
ou –k 1
.
O zsh
equivalente de bash
read -p prompt
é
read "?Here be dragons. Continue?"
Qualquer coisa depois de um ?
no primeiro argumento é usado como a string de prompt.
E, claro, você pode especificar um nome de variável para ler (e esse pode ser um estilo melhor):
read "brave?Here be dragons. Continue?"
if [[ "$brave" =~ ^[Yy]$ ]]
then
...
fi
(Citando variáveis do shell é geralmente uma boa idéia também.)