在bash中
echo ${!X*}
是否有可能获得相同的任意模式,例如获取名称包含一个“X”的variables的所有名称在任何位置?
我如何向用户显示在PowerShell脚本中可供select的打印机列表?
在windows操作系统下运行shell脚本
如何使用shell脚本在文件中附加多行文本
使用内建命令compgen:
compgen -A variable | grep X
这应该做到这一点:
env | grep ".*X.*"
编辑:对不起,该值也在X中查找。 该版本仅在var名称中查找X.
env | awk -F "=" '{print $1}' | grep ".*X.*"
正如Paul在评论中指出的那样,如果你也在寻找局部变量,env需要被set替换:
set | awk -F "=" '{print $1}' | grep ".*X.*"
set | grep -oP '^w*Xw*(?==)'
或者更容易编辑搜索到的模式
set | grep -oP '^w*(?==)' | grep X
或者干脆(也许更容易记住)
set | cut -d= -f1 | grep X
set | grep -P '^w*Xw*(?==)'
如果你想匹配X里面的变量名,但是只输出值,那么:
set | grep -P '^w*Xw*(?==)' | grep -oP '(?<==).*'
最简单的可能是做一个
printenv |grep D.*=
唯一的区别是它也打印出变量的值。
env | awk -F= '{if($1 ~ /X/) print $1}'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。