【发布时间】:2015-01-08 16:55:34
【问题描述】:
我有一个 rpm 规范,它在 %pre 部分运行一些测试。
我正在使用 AIX 5.3 和 korn shell。
我的脚本从 ps 中提取一些东西,即 foo 和 foobar(我只想要 foo),然后测试每个值以查看它是否与模式匹配。
但是代码
if [[ $x =~ foo$ ]]; then echo match fi
返回错误=~意外
人说字符串=~ere
如果字符串匹配模式 ~(E)ere 则为真,其中 ere 是扩展的正则表达式。
所以看来=~是支持的。
我做错了什么?
【问题讨论】:
-
为什么不让
grep为您应用正则表达式,而不是后处理? (如果我更了解你的平台,我建议使用更适合该任务的工具,而不是 greppingps的输出—— pgrep 和 kin 在 Linux 上更有可能是正确的东西,但我没有一个 AIX 系统来检查/测试)。 -
谢谢。我确实可以尝试这个,因为最终我希望我的脚本能够同时在 AIX/Linux KSH88/Bash 上工作