(Forgive me if this is a duplicate -- my first attempt seems to have slipped into a black hole.)
In the snippet below from /etc/defaults/etc/profile (base-files-4.3-3), the '[]' tests can fail with the syntax error: -bash: [: =: unary operator expected if CYGWIN_USEWINPATH or CYGWIN_NOWINPATH are set to a null (empty) string. (There's nothing on the left side of the '='.) Any indication of an error seems to slip into a black hole somewhere. The fix would be either to surround their expansions in double-quotes, or use ':-' in place of '-' in their expansions (i.e., do the substitition if unset or null, not just unset). (Per 'man sh', "Parameter Expansion".) The code is as follows (expansions marked with '*'): # setting CYGWIN_USEWINPATH non-empty in the system variables # assumes that you've already set up PATH so that Cygwin works # correctly -- no further alteration is done * if [ ${CYGWIN_USEWINPATH-pathprepend} = "pathprepend" ] ; then # setting CYGWIN_NOWINPATH non-empty in the system variables # prevents use of the existing PATH and a clean PATH just for # Cygwin is set up -- you need to add any extra path components # you need in your personal startup files * if [ ${CYGWIN_NOWINPATH-addwinpath} = "addwinpath" ] ; then PATH="/usr/local/bin:/usr/bin${PATH:+:${PATH}}" else PATH="/usr/local/bin:/usr/bin" fi fi P.S.: When testing, note that the code is effectively execute-once, due to the PROFILEREAD variable. -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple