Subject: Bash Environment (Was: Bash history?)
From: [email-masked] (Michael A. Chase)

16 Sep 1997 06:45:10 -0700
Message-ID: <[email-masked]>
Mime-Version: 1.0
Content-Type: multipart/mixed;
	boundary="----=_NextPart_000_0000_01BCC207.94C661C0"
To: "Sergey Okhapkin" <[email-masked]>, <[email-masked]>,
        "'Andy Piper'" <[email-masked]>

This is a multi-part message in MIME format.

------=_NextPart_000_0000_01BCC207.94C661C0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

I have similar problems.  It appears that the only environment variable
that gets changed from MSDOS form to UNIX form is $PATH.  All the others
keep their backslashes and semicolons.

I put code in /etc/profile to fix the environment (attached).
Unfortunately, I have never seen /etc/profile run by default so I added a
check for it to .bashrc (which does work) to run both /etc/profile and
..bash_profile.

Is there something else I should be doing to get the correct environment
at bash startup?

Mac :})
-----Original Message-----
From: Sergey Okhapkin <[email-masked]>
To: [email-masked] <[email-masked]>; 'Andy Piper'
<[email-masked]>
Date: Sunday, September 07, 1997 22:02
Subject: RE: Bash history?

>Andy Piper wrote:
>> 1) ~ seems to be interpreted wrongly. If I do `cd ~' I get:
>> bash.exe: C:WINNTProfilesandyp: No such file or directory
>> cd $HOME works fine. Somehow the /'s are getting stripped out.
>
>I'm sure, there are backslashes instead of slashes in your HOME env.
var. Set HOME to
>c:/WINNT/Profiles/andyp.
>
>>
>> 2) History is not preserved between sessions. Although bash
>> writes out a history file - .bash_history - correctly. It is not read
when
>
>Fix the first problem, and the second one should came out.
>
>--
>Sergey Okhapkin, http://www.lexa.ru/sos
>Moscow, Russia
>Looking for a job

------=_NextPart_000_0000_01BCC207.94C661C0
Content-Type: application/octet-stream;
	name="profile"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="profile"

=0A=
if [ ${_ETC_PROFILE_:=3D0} =3D 0 ]; then=0A=
   export _ETC_PROFILE_=3D1=0A=
=0A=
   if [ $(env | grep ';' | wc -c) -ne 0 ]; then=0A=
      echo "Fixing env"=0A=
      # Add 'UNIX' executable directories and remove windows ones=0A=
      PATH=3D"/usr/local/bin:/bin:/usr/bin:/bin:$PATH"=0A=
      PATH=3D`echo "$PATH" | sed -e 's,:/perl5.004.bc/bin,,;s,:/wbin,,g'`=0A=
=0A=
      # Convert DOS backslashes, drives, and path separators in =
environment to UNIX=0A=
      # 1. Don't touch PATH=0A=
      # 2. Don't lines starting with punctuation !_@#%^&*()=3D+:;<>?/`~-=0A=
      # 3. Backslash -> slash=0A=
      # 4. C:/ -> / and C:  -> /=0A=
      # 5. DRIVE: -> /DRIVE=0A=
      # 6. ; -> :=0A=
      # 7. Quote values=0A=
=0A=
      tfile=3D/tmp/profile.$$=0A=
      env | \=0A=
         sed -e '/^$/d;/^PATH=3D/d' \=0A=
             -e '/^[!_@#%^&*()=3D+:;<>?/`~-]/d' \=0A=
             -e 's,\\,/,g' \=0A=
             -e 's,[Cc]:/,/,g' -e 's,[Cc]:,/,g' \=0A=
             -e 's,\([a-zA-Z]\):,//\1/,g' \=0A=
             -e 's,;,:,g' \=0A=
             -e "s/^\([^=3D][^=3D]*=3D\)\(.*\)$/\1'\2'/" > $tfile=0A=
      source $tfile=0A=
      rm $tfile=0A=
   fi=0A=
=0A=
   # Other shell initialization stuff=0A=
   export TERM=3Dlinux=0A=
   set -o vi=0A=
fi=0A=
=0A=

------=_NextPart_000_0000_01BCC207.94C661C0--

-
For help on using this list (especially unsubscribing), send a message to
"[email-masked]" with one line of text: "help".