如何修复Word拆分

时间:2016-10-25 04:47:34

标签: bash

我有bash-script:

for i i in `ldapsearch -xZZLLLD cn=admin,dc=example,dc=com -w -b dc=example,dc=com '(&(objectclass=inetOrgPerson)(memberOf=cn='$groups',ou=Groups,dc=example,dc=com))' dn`
do
echo $i
done

输出:

dn:
uid=user1,ou=People,dc=example,dc=com
dn:
uid=user2,ou=People,dc=example,dc=com

问题是输出不正确。我读到了“分词”,但不明白如何解决它。我需要得到:

dn: uid=user1,ou=People,dc=example,dc=com
dn: uid=user2,ou=People,dc=example,dc=com

输出命令:

ldapsearch -xZZLLLD cn=admin,dc=example,dc=com -w -b dc=example,dc=com '(&(objectclass=inetOrgPerson)(memberOf=cn='$groups',ou=Groups,dc=example,dc=com))' dn

dn: uid=user,ou=People,dc=example,dc=com

dn: uid=user1,ou=People,dc=example,dc=com

dn: uid=user2,ou=People,dc=example,dc=com

1 个答案:

答案 0 :(得分:1)

问题是来自命令的输出在每一行中都有空格,即它输出SHOWsdn: uid=user,ou=People,dc=example,dc=comdn之间的空格),同时使用{{1}迭代输出},由于在uid=user,ou=People,dc=example,dc=com(空格,制表符,换行符)的值上进行单词拆分,每行会得到两个字符串。

要遍历每一行,请使用for - IFS构造:

while