Date: Sun, 5 Jun 2016 13:15:25 -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: <4daed7a2-9a0b-15d9-0bb2-31227f8fcddd@columbus.rr.com> In-Reply-To: <575453F9.9070508@holgerdanske.com> References: <31b2cfb1-1da8-9262-3f03-d964776c905e@columbus.rr.com> <575453F9.9070508@holgerdanske.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 06/05/16 12:31, David Christensen wrote: > On 06/05/2016 08:38 AM, Baho Utot wrote: > ... >> root@baho-utot:~ # set > ... >> shell /bin/csh > ... >> tcsh 6.18.01 > ... >> OK tcsh as I thought > ... >> OK switch shells >> >> root@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4daed7a2-9a0b-15d9-0bb2-31227f8fcddd>