小编Mas*_*son的帖子

在没有 Bashisms 的 Shell 中检查子字符串

我正在尝试编写一个 shell 脚本,在其中我必须查找字符串中是否存在-32 。不幸的是,我必须在不使用任何 bashism 的情况下执行此操作,因为它必须在运行 Dash 的计算机上运行。

我尝试过case ${1+"$@"} in *-32*);;,但这会得到类似-321的东西。有没有办法使用正则表达式或其他东西来查找该标志?它周围可以有其他标志,并在字符串中用空格分隔。

我认为我需要的正则表达式会查找 -32 ,后面带有空格或行尾。-32(\s|$)

我对正则表达式很陌生,所以我不确定这是否是最好的方法。任何帮助,将不胜感激!

谢谢!

regex linux shell dash-shell

5
推荐指数
1
解决办法
538
查看次数

标签 统计

dash-shell ×1

linux ×1

regex ×1

shell ×1