[英]Regex not equal operator?
如果 NAMESPACE 變量為空或 VERSION 變量與正確的模式不匹配,我正在嘗試返回 function。
# return usage if namespace is blank or version doesn't match the version format.
if [[ "$NAMESPACE" == "" || "$VERSION" =~ ^([0-9]\.([1-9]|[1-9][0-9])\.[0-9])$ ]];
then
usage
fi
目前我正在使用=~
如果模式是 x.xx.x 或 xxx 則返回 true 但我很難找到運算符的不相等(類似於!=~
)
您可以在||
之后否定對於(A OR NOT B)
:
if [[ "$NAMESPACE" == "" || ! "$VERSION" =~ ^([0-9]\.([1-9]|[1-9][0-9])\.[0-9])$ ]];
then
usage
fi
請注意,您需要在!
.
或者,您可以將(A OR NOT B)
反轉為NOT (NOT A AND B)
:
if ! [[ "$NAMESPACE" != "" && "$VERSION" =~ ^([0-9]\.([1-9]|[1-9][0-9])\.[0-9])$ ]];
then
usage
fi
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.