Rexxxxxxxxxx 2014-12-05 09:19 采纳率: 100%
浏览 2002
已采纳

请教一个linux shell脚本的意思

 function maybe_prompt_user() {
    if $ASSUME_YES; then
        return 0
    else
        read -p "$1"
        if [[ $REPLY =~ ^[Yy]$ ]]; then
            return 0
        else
            return 1
        fi  
    fi  
}

这段脚本是什么意思,没太看明白,哪位高手指点一下,谢谢!

  • 写回答

2条回答 默认 最新

  • Coursera 2014-12-05 17:24
    关注

    =~ 表示正则match
    ^[Yy]$表示match y或者Y, laiconglin的解释有一点问题
    ^这个符号表示非得意思 - 这是错误的,这个^在这里表示match开始,而不是非,[^Yy]里面的^才是非,这里表示不match像ay,TY这样的结果。

    至于read那句就是用$1的字符提醒用户要输入什么,结果放到变量REPLY.你可以这么调用maybe_prompt_user
    maybe_prompt_user "(Y/y/N/N):"

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置