2011/8/21, Charles Wilson wrote: > Running 'dash -l' flags an error in /etc/profile: > > if [[ -n ${BASH_VERSION} ]]; then > HOSTNAME=$(/usr/bin/hostname) > profile_d sh > [[ -f "/etc/bash.bashrc" ]] && . "/etc/bash.bashrc" > elif [[ -n ${KSH_VERSION} ]]; then > typeset -l HOSTNAME=$(/usr/bin/hostname) > profile_d sh > PS1=$(print > '\033]0;${PWD}\n\033[32m${USER}@${HOSTNAME}\033[33m${PWD/${HOME}/}\033[0m\n$ > ') > elif [[ -n ${ZSH_VERSION} ]]; then > HOSTNAME=$(/usr/bin/hostname) > profile_d zsh > PS1='(%n@%m)[%h] %~ %% ' > > > these uses of '[[' are not supported by dash, although apparently posh > supports them. > > I was trying to launch 'dash' from cmd.exe, in such a way that the > default Windows values of TMP, TMPDIR, and TEMP were overridden. For > now I can do > >> set ENV=~/.dashinit >> dash > > but...can we use /bin/test or a regular '[' here? > > -- > Chuck
Hello, Can you please check which version of base-files here you using? In 4.0-6 I have: if [ ! "x${BASH_VERSION}" = "x" ]; then HOSTNAME=$(/usr/bin/hostname) profile_d sh [ -f "/etc/bash.bashrc" ] && . "/etc/bash.bashrc" elif [ ! "x${KSH_VERSION}" = "x" ]; then typeset -l HOSTNAME=$(/usr/bin/hostname) profile_d sh PS1=$(print '\033]0;${PWD}\n\033[32m${USER}@${HOSTNAME} \033[33m${PWD/${HOME}/~}\033[0m\n$ ') elif [ ! "x${ZSH_VERSION}" = "x" ]; then HOSTNAME=$(/usr/bin/hostname) profile_d zsh PS1='(%n@%m)[%h] %~ %% ' elif [ ! "x${POSH_VERSION}" = "x" ]; then HOSTNAME=$(/usr/bin/hostname) PS1="$ " else HOSTNAME=$(/usr/bin/hostname) profile_d sh PS1="$ " fi As per: Change Log ---------- 4.0-6 * Dropped non-POSIX tests in /etc/profile - Eric Blake cygwin.com/ml/cygwin/2011-03/msg00510.html Maybe you modified /etc/profile preventing it to get updated before 4.0-6. -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple