我正在尝试在脚本中执行ldapsearch
命令。
以下无效
ADMIN_USER="$(whoami)";
ldapmodify -h myldapserver -p 23223 -D 'uid=$ADMIN_USER,ou=people,ou=company,dc=corpcom,dc=com' -w "$ADMIN_PWD" -f /tmp/reset_password.ldif.$PID;
以上错误ldap_bind: Invalid credentials (49)
如果硬编码如下所示的值,则可行。
ADMIN_USER="$(whoami)";
ldapmodify -h myldapserver -p 23223 -D 'uid=adminuser,ou=people,ou=company,dc=corpcom,dc=com' -w "$ADMIN_PWD" -f /tmp/reset_password.ldif.$PID;
这有什么特别的原因吗?我怎么能解决这个问题?
答案 0 :(得分:2)
Bash没有扩展变量,因为您将其括在单引号中。将字符串更改为使用双引号:
ADMIN_USER="$(whoami)";
ldapmodify -h myldapserver -p 23223 -D "uid=${ADMIN_USER},ou=people,ou=company,dc=corpcom,dc=com" -w "$ADMIN_PWD" -f /tmp/reset_password.ldif.$PID;
另见this answer。