Bash 格式化功能

Bash function with formatting

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

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

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

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

诸如此类。

想法、建议表示赞赏!

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

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

这将 return 匹配 uidNumberdisplayNameloginShell,每个匹配后跟一个 :

希望这对您有所帮助