This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: dash incompatibility in /etc/profile
- From: David Sastre <d dot sastre dot medina at gmail dot com>
- To: cygwin at cygwin dot com
- Date: Wed, 24 Aug 2011 13:40:20 +0200
- Subject: Re: dash incompatibility in /etc/profile
- References: <4E51537C.3080506@cwilson.fastmail.fm>
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