首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >接受bash脚本中的换行符

接受bash脚本中的换行符
EN

Stack Overflow用户
提问于 2017-07-09 07:15:32
回答 1查看 38关注 0票数 1

我有以下脚本,它不断接受用户的输入,直到他/她输入某种形式的y*Y*

代码语言:javascript
复制
while true; do
read -p "Are you ready? " yn
case $yn in
    [Yy]* ) break;;
    [Nn]* ) ;;
    * ) echo "Please answer yes or no.";;
esac
done

但是,当用户简单地按下enter时,我想跳出while循环。我尝试使用\n\r\r\n,但这些似乎不是正确的模式。

我使用Cygwin,如果这有什么不同的话(尽管我也想知道像Ubuntu这样的Linux发行版的答案)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-09 07:23:09

因为read去掉了换行符,所以必须匹配空字符串""

代码语言:javascript
复制
#!/bin/bash
while true; do
    read -p "Are you ready? " yn
    case "$yn" in
        [Yy]*|"") break;;
        [Nn]*) ;;
        *) echo "Please answer yes or no.";;
    esac
done

根据您的应用程序逻辑,您可以(显然)将其作为单独的case分支,如:"") break;;

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44991587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档