我正在使用以下代码来执行操作。但每次" ldap_bind:凭证无效(49)"正在打印机上打印。我不希望它在控制台上打印,而应该被抑制。怎么实现呢? 代码:
LDAP_CONF="/etc/opt/nokia/ldapserver.conf"
bindError="ldap_bind: Invalid credentials (49)"
basedn=`cat $LDAP_CONF | grep basedn | cut -d " " -f2`
verify=`su - omc -c "ldapsearch -x -n -D
"uid=$userName,ou=people,ou=accounts,$basedn" -w $newPswd"`
if echo "$verify" | grep -q "$bindError"; then
printPasswdLog "${ERR}" "bind to ldap server failed"
else
printPasswdLog "${INF}" "bind to ldap server Successful for $userName "
fi
我得到以下输出:
ldap_bind:凭据无效(49) 3月3日星期三12:45:56 EEST 2015 |信息|绑定到ldap服务器成功用于nwi3system
答案 0 :(得分:1)
如果你真的想要压制所有错误信息,只需将它放在脚本的开头:
exec 2> /dev/null
但你真的不想这样做。这可能就足够了:
verify=$(su - omc -c "ldapsearch -x -n -D
uid=$userName,ou=people,ou=accounts,$basedn -w $newPswd" 2> /dev/null)
但你也不想这样做。为什么要丢弃一个非常好的错误消息,用一个包含较少信息的消息替换它?
答案 1 :(得分:0)
您可以将错误重定向到其他文件或/dev/null
。你可以用这种方式
./SCRIPT 2> /dev/null
这会将错误重定向到/ dev / null,并且没有记录会出错。
相反,更好的方法是将它记录在某个地方。试试这个
./SCRIPT 2>> error.txt
这将创建一个文件,所有错误都将记录在那里。