Hi list,
Since the upgrade to 5.2, when I log into my server with a ldap account I have these 2 errors messages: -bash: [: =: unary operator expected -bash: [: -le: unary operator expected
After investigation, the trouble come from two scripts in /etc/profile.d: /etc/profile.d/krb5-workstation.sh /etc/profile.d/vim.sh
The problem is with the test where the command "id" is involved, like: if [ `/usr/bin/id -u` = 0 ] ;
If I add double quotes ("`/usr/bin/id -u`"), it will work again.
Indeed, as a connected ldap user, the id command returns nothing when quoted: [ldapUser@server ~]$ /usr/bin/id -u 12345 [ldapUser@server ~]$ `/usr/bin/id -u` [ldapUser@server ~]$
As a normal user, the command behaves normally: [user@server ~]$ `/usr/bin/id -u` -bash: 1302: command not found [user@server ~]$ /usr/bin/id -u 1302
I have modified theses two scripts but I am afraid it will break something in the future. Any idea on how to resolve this cleanly ?
Best regards, kfx
PS: Linux server 2.6.18-92.1.1.el5xen #1 SMP Sat Jun 21 19:21:20 EDT 2008 x86_64 x86_64 x86_64 GNU/Linux