当前位置:  开发笔记 > 编程语言 > 正文

bash:获取名称与特定模式匹配的变量列表

如何解决《bash:获取名称与特定模式匹配的变量列表》经验,为你挑选了2个好方法。

在bash中

echo ${!X*}

将打印名称以"X"开头的变量的所有名称.
是否可以使用任意模式获得相同的结果,例如获取名称在任何位置包含"X"的变量的所有名称?



1> Johannes Sch..:

使用builtin命令compgen:

compgen -A variable | grep X


(+1)这也适用于局部变量.这个compgen一直是今天的启示 - 我想我应该*学习*所有bash内置...
@AlexanderMills适用于bash。在MacOS上使用bash-3.2进行了检查。

2> diciu..:

这应该这样做:

env | grep ".*X.*"

编辑:抱歉,这也在值中查找X. 此版本仅在var名称中查找X.

env | awk -F "=" '{print $1}' | grep ".*X.*"

正如Paul在评论中指出的那样,如果你也在寻找局部变量,那么需要用set替换env:

set | awk -F "=" '{print $1}' | grep ".*X.*"

推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有