On 09/10/2015 11:31 AM, Corinna Vinschen wrote: >>>> - if [ "\\\\${COMPUTERNAME,,*}" != "${LOGONSERVER,,*}" ] >>>> + if [ "\\\\${COMPUTERNAME,,*}" != "${LOGONSERVER,,*}" \ >>>> + -a "${LOGONSERVER}" != "\\\\MicrosoftAccount" ] >>>> then >>>> # Lowercase of USERDOMAIN >>>> csih_PRIVILEGED_USERNAME="${COMPUTERNAME,,*}+${username}" >>> >>> Thanks a lot, much appreciated. Patch applied. >> >> [ ... -a ... ] is not portable; there are some inherently ambiguous >> situations that it cannot handle. POSIX recommends that you spell it [ >> ... ] && [ ... ] instead. > > Does this matter in this very situation? This is always running under > bash, btw. Bash's a requirement for the csih helper script. Because you are at least using bash, you will get consistent behavior; and because both ... are 3-argument tests, it is unlikely that one of the tests can be confused with other operators like '(' or ')'. So, I guess it's okay to leave it alone here. But even with bash, the use of -a can cause problems when testing user-supplied variables that might happen to expand to text that looks like potential operators. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org