Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell 如何使用ldapsearch检查UID是否存在_Shell_Ldap - Fatal编程技术网

Shell 如何使用ldapsearch检查UID是否存在

Shell 如何使用ldapsearch检查UID是否存在,shell,ldap,Shell,Ldap,我希望有一个shell脚本使用“ldapsearch”将文本文件中列出的UID与远程LDAP目录中列出的UID进行比较 我不是shell脚本专家,希望能得到任何帮助。下面循环一个作为参数给出的文本文件,但我需要的是在LDAP中不存在文本文件中的UID时回显 #!/bin/sh for i in `cat $1`; do ldapsearch -x -H ldaps://ldap-66.example.com -b ou=People,dc=crm,dc=example,dc=com uid

我希望有一个shell脚本使用“ldapsearch”将文本文件中列出的UID与远程LDAP目录中列出的UID进行比较

我不是shell脚本专家,希望能得到任何帮助。下面循环一个作为参数给出的文本文件,但我需要的是在LDAP中不存在文本文件中的UID时回显

#!/bin/sh

for i in `cat $1`;
  do ldapsearch -x -H ldaps://ldap-66.example.com -b ou=People,dc=crm,dc=example,dc=com uid=$i | grep uid: | awk '{print $2}';
  echo $i
done
尝试:


Anttix,这是最后一个有效的版本。再次感谢。这是否表示该问题已被接受

#!/bin/sh

url="ldaps://ldap-66.example.com"
basedn="ou=People,dc=crm,dc=example,dc=com"

for i in `cat $1`; do
    if ldapsearch -x -H "$url" -b "$basedn" uid=$i | grep uid: | awk '{print $2}' > /dev/null
    then
        # Do nothing
        true
    else
        echo $i
    fi
done

Anttix,在out=行的末尾添加了'grep'和'awk'。非常感谢。不客气!不过,我更新了脚本,使其更像外壳(使用exit值),所以您可能也想尝试一下。太棒了,我会尝试的!我真的很感激。
#!/bin/sh

url="ldaps://ldap-66.example.com"
basedn="ou=People,dc=crm,dc=example,dc=com"

for i in `cat $1`; do
    if ldapsearch -x -H "$url" -b "$basedn" uid=$i | grep uid: | awk '{print $2}' > /dev/null
    then
        # Do nothing
        true
    else
        echo $i
    fi
done