LDAP脚本帮助 - 将ldapserach命令结果放在单引号中

时间:2013-11-19 19:19:48

标签: bash shell

以下脚本有效,但我需要一个更改的帮助。现在使用lday serach和一个名为GETPASS的小实用程序,此脚本将从LDAP目录中的指定上下文中拉出一个列表用户,将其LDAP密码与未使用的属性进行比较,如果不同,则将其添加到未使用的属性中称为carLicense,然后将其以SHA 1格式发送到我们的Google APPS域,并使用Google Apps目录同步。一个问题是,当它返回ldapsearch时,它对于这种格式的用户可以正常工作:

cn=joebloe,ou=googletest,o=someorg

但是,如果usename中有一个空格,如下所示:

cn=joe bloe,ou=googletest,o=someorg

脚本将失败,因为它不知道如何处理该空间。在这种情况下,围绕DN的单引号将解决问题IE:

'cn=joe blow,ou=googletest,o=someorg'

但是,我试图改变剧本以解决我的这种需要,而我的失败很惨,请在下面的Pasetebin中看到该剧本的副本。任何帮助都要深深地和非常感激,因为这是我目前唯一成功的绊脚石。

http://pastebin.com/htWxsNXj

1 个答案:

答案 0 :(得分:1)

将生成结果文件的第一行(在您的粘贴中是第66行)替换为:

echo "dn: '$RESULT'" >> $SCRIPTPATH/gadspwsync.ldif

如果没有帮助,请不要删除第75行中的文件。检查内容,向我们显示第一行,然后显示预期内容。