sh[it] and What am I missing here?
Baho Utot
baho-utot at columbus.rr.com
Sun Jun 5 17:15:28 UTC 2016
On 06/05/16 12:31, David Christensen wrote:
> On 06/05/2016 08:38 AM, Baho Utot wrote:
> ...
>> root at baho-utot:~ # set
> ...
>> shell /bin/csh
> ...
>> tcsh 6.18.01
> ...
>> OK tcsh as I thought
> ...
>> OK switch shells
>>
>> root at baho-utot:~ # /bin/sh
>> # set
> ...
>> Why is the SHELL variable still set to /bin/csh
> ...
>
> Because you are invoking a program (/bin/sh) and that program did not
> modify the SHELL environment variable.
>
>
> On 06/05/2016 09:15 AM, jd1008 wrote:
> > Do I understand correctly that you want bash to be your shell?
> > If so, you can run (as root), the command
> > chsh <username>
>
> +1
>
> Take a look at:
>
> https://www.freebsd.org/doc/en/articles/linux-users/shells.html
>
>
> David
I understood that, But I do not want to change the default shell.
I only want to create a script ( sh script ) and run if from a clean
machine with just base install nothing else and then run my sh script to
build some ports. That's were the trouble lies. ie functions not
returning status for example:
test.sh
chmod +x test.sh
#!/bin/sh
func() {
echo "Yep it's me"
return 1
}
if [ func ] ; then # if [ 1 = func ] or if [ 1 -eq func
] doesn't work either
echo "This works"
fi
./test.sh
[: func: unexpected operator
More information about the freebsd-questions
mailing list