Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 5 Jun 2016 12:46:46 -0400
From:      Baho Utot <baho-utot@columbus.rr.com>
To:        freebsd-questions@freebsd.org
Subject:   Re: sh[it] and What am I missing here?
Message-ID:  <02a5bb3c-e19a-221c-d30f-0feacebbf928@columbus.rr.com>
In-Reply-To: <5754550A.6020500@holgerdanske.com>
References:  <57544c10.90e58c0a.cacbc.62fd@mx.google.com> <cdf04501-79ef-9dbb-14f0-ed10a6d7241e@columbus.rr.com> <57545029.5060805@gmail.com> <6f157455-0bda-ef46-82dc-e97fb0c4a08b@columbus.rr.com> <5754550A.6020500@holgerdanske.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 06/05/16 12:36, David Christensen wrote:
> On 06/05/2016 09:30 AM, Baho Utot wrote:
>> No I don't want to have sh as my shell or change the default shell.
>> I am just writing a script to build packages from ports on a new 
>> install.
>> As bash is not available but sh was I'll use that to script into.
>>
>> Now when I was writing the script syntax that should have been a Ok in
>> sh it was/is failing.
>> After some head scratching I found that maybe I wasn't really using or
>> in a bourne shell ie /bin/sh.
>> That made me think that even though I have #!/bin/sh at the top of the
>> script some how I wasn't really getting sh but csh.
>>
>> So here is what I tried.
>> Power on console ( boot computer )
>> Login in as root
>> /bin/sh
>>
>> set    #  to show environment etc
>> WTF SHELL says I am in csh????
>>
>> It should say SHELL=/bin/sh
>>
>> Hence my question here as to what is going on.
>
> Is your script executable?
>
>     # chmod +x scriptname

Yes

>
>
> Does it have a shebang line?
>
>     #!/bin/sh
>
>

Yes

> Does it make use of the SHELL variable?
>
>

No

It also behaves as if it is in tcsh/csh from the command prompt.... Ok 
you can try this from home ; )

login in as a user ( non root )
set
SHELL is set to SHELL=/bin/sh
Ok now try
su - (give password)
set
SHELL=/bin/csh Ok that makes sense
Now
/bin/sh
set
SHELL=/bin/csh WTF?

Log out of all the

login as root
set
SHELL=/bin/csh Ok that makes sense
/bin/sh
set
SHELL=/bin/csh WTF?

It looks to me ( if I am not missing something here )
That I can only get to sh by loging in as a user...Again WTF





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?02a5bb3c-e19a-221c-d30f-0feacebbf928>