【发布时间】:2019-12-11 15:22:33
【问题描述】:
在我的$foo 变量中,我有这些数据(请密切注意.s 和,s):
,example.com,de.wikipedia.org,reddit,stackoverflow.com.,amazon.,
我正在尝试在bash 中编写一个if 语句,它的工作原理基本上是这样的:
if [[ "${foo}" =~ *','[a-z0-9]','* || "${foo}" =~ *','[a-z0-9]'.,'* ]]; then
echo "Invalid input detected"
else
echo "OK"
fi
它会回显Invalid input detected,因为reddit 和amazon. 在$foo 中。
如果我将$foo 的内容更改为:
,example.com,de.wikipedia.org,www.reddit.com,stackoverflow.com.,amazon.com,
然后它会回显OK。
我在 OS X 10.11.6 El Capitan 上使用 bash 3.2.57(1)-release。
【问题讨论】:
-
假设你以后会在逗号上拆分,为什么不先这样做呢?
标签: regex bash macos if-statement command-line