首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ash脚本-检测变量是否等于"?“

Ash脚本-检测变量是否等于"?“
EN

Stack Overflow用户
提问于 2013-01-23 22:12:10
回答 1查看 194关注 0票数 0

我正在编写一个Ash脚本,并尝试检测输入变量是否等于"?“或者不是。我发现最好是使用case来做这件事,但是我不能让它工作。我的代码是:

代码语言:javascript
复制
case $@ in
*?*) usage
    operationSucceeded
    exit;;
  *) echo "Unknown argument: $@"
    usage
    operationFailed
    exit $E_OPTERROR;;   # DEFAULT\
esac

第一个选项总是被触发,而我希望它只在?为变量时触发,而另一个选项则用于其他所有选项。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-23 23:03:19

更改为

代码语言:javascript
复制
 case $@ in
     *[\?]* ) usage 
    .....
  easc

你可能不需要“\”,但它不会有什么坏处。

在更一般的意义上,[ABC]被称为字符类,它将匹配[ ]中列出的任何单个字符。因此,在*[\?]*中,我们说“任意数量的字符(包括零个字符),后跟Char类[\?] (在本例中,只有'?‘char),后跟零个或多个字符”。

IHTH

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

https://stackoverflow.com/questions/14481770

复制
相关文章

相似问题

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