以下代码适用于 bash,但现在我需要它用于 busybox ash,它显然没有“=~”
keyword="^Cookie: (.*)$"
if [[ $line =~ $keyword ]]
then
bla bla
fi
Run Code Online (Sandbox Code Playgroud)
有合适的替代品吗?
对不起,如果这是超级用户的问题,无法决定。
编辑:也没有 grep、sed、awk 等。我需要纯灰。
对于这个特定的正则表达式,您可能会逃避参数扩展黑客:
if [ "$line" = "Cookie: ${line#Cookie: }" ]; then
echo a
fi
Run Code Online (Sandbox Code Playgroud)
或者模式匹配符号+ 大小写 hack:
case "$line" in
"Cookie: "*)
echo a
;;
*)
;;
esac
Run Code Online (Sandbox Code Playgroud)
然而,这些解决方案的功能严格来说不如正则表达式,因为它们没有真正的 Kleene 星*(仅.*),并且您确实应该在该系统上安装一些更强大的工具(像 Python 这样的真正的编程语言?),否则您将遭受损失。