ldapsearchの出力をパイプできないのはなぜか

ldapsearchの出力をパイプできないのはなぜか

ldapsearch は常に、すべてのクエリの先頭に認証メッセージを出力します。

SASL/GSS-SPNEGO authentication started
SASL username: [email protected]
SASL SSF: 56
SASL data security layer installed.
...
<regular output>

そうすればldapsearch -o ldif-wrap=no -b cn=<omitted>,cn=groups,dc=lan,dc=<ommited>,dc=de "(cn=<omitted>.nextcloud.users)"|grep -v SASL消えません。

追加して2> /dev/nullも役に立ちません。

これは迷惑です。ldapsearchクエリを実行するときにこのSASL出力を表示しないようにする方法を探しています。ldapsearchコマンドはsamba4-LDAPに対して実行されます。

答え1

-QSASL 関連のメッセージを無効にするために使用します。

ldapsearch -Q cn=whatever

stderrをリダイレクトするには、以下を追加する必要があります2>/dev/null コマンドの横これにより、stderr 出力が生成されます。つまり、リダイレクトは、その| grep ...部分の前の ldapsearch の近くで実行する必要があります。

ldapsearch cn=whatever 2>/dev/null | grep foo

関連情報