带有答案选项的“非法选项-n”和“ [[:未找到”

时间:2019-10-25 16:25:54

标签: bash sh ubuntu-18.04

运行此sh脚本时,我收到“非法选项-n”和“ [[:找不到”。

此脚本过去很长时间都可以正常工作,然后在我更新了Ubuntu 18.04.3 VPS上的某些内容后便开始崩溃。

read -p "Do you wish to enable SSL for this domain? [Y/n]" -n 1 -r 
echo
if [[ $REPLY =~ ^[Nn]$ ]]
then
  # something here
else
  # something else here
fi

“非法选项-n”与第1行有关

“ [[:未找到”部分与第3行有关

1 个答案:

答案 0 :(得分:1)

要编写POSIX sh的代码,不能使用read -pread -n[[

printf '%s' "Do you wish to enable SSL for this domain? [Y/n]"
read -r reply
case $reply in
  [Nn]) : "something here" ;;
  *)    : "something else here";;
esac