繁体   English   中英

BASH-grepping存储在变量中的值

[英]BASH - grepping for a value stored in a variable

因此,我尝试通过以下命令在Windows注册表配置单元上使用grep:

grep -i -A6 HKEY_LOCAL_MACHINE\.SYSTEM\.ControlSet001\.Services\.atapi RegistryEntries/ControlSet001.reg | grep Start | tail -c 4 

这工作得很好,并返回我感兴趣的值000

但是,当我尝试将“ atapi”存储在变量中时,如下所示:

x="atapi"
grep -i -A6 HKEY_LOCAL_MACHINE\.SYSTEM\.ControlSet001\.Services.\.$x RegistryEntries/ControlSet001.reg | grep Start | tail -c 4 

我什么也没得到,我也尝试过使用

x=atapi

没有引号,仍然没有运气,我对BASH还是很陌生,所以我很可能会错过一些简单的东西!

这部分似乎是您的正则表达式中的问题:

Services.\.$x

由于它与文字Services任何字符之后的文字点匹配。

Services后删除多余的点,并使用带引号的grep命令:

x="atapi"
grep -i -A6 "HKEY_LOCAL_MACHINE\.SYSTEM\.ControlSet001\.Services\.$x" RegistryEntries/ControlSet001.reg | grep Start | tail -c 4 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM