具有格式的Bash功能

时间:2015-04-20 21:53:57

标签: bash unix bash-function

我在.bashrc文件中使用以下内容作为从外部LDAP grep信息的函数,但是希望它能输出几个值,但每个值都在自己的行上

function ldaps() { ldapsearch -x -H ldaps://ldap-server.example.com -b ou=People,dc=exampe,dc=com uid=$1 | grep uidNumber: ; }

理想情况下,它输出的内容如下:

% ldaps jsixpack
uidNumber: 9255
loginShell: /bin/bash
displayName: Joe Sixpack

这样的东西。

想法,建议赞赏!

1 个答案:

答案 0 :(得分:1)

-E标志与grep一起使用以扩展正则表达式:

function ldaps() {
  ldapsearch -x -H ldaps://ldap-server.example.com -b\
  ou=People,dc=example,dc=com uid=$1 |
  grep -E '(uidNumber|displayName|loginShell):'
}

这将返回uidNumberdisplayNameloginShell的匹配,每个匹配后跟:

希望这有帮助