sh[it] and What am I missing here?
Baho Utot
baho-utot at columbus.rr.com
Sun Jun 5 17:49:35 UTC 2016
On 06/05/16 13:40, Ernie Luzar wrote:
> Baho Utot wrote:
>> 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
>
> I think your problem is where you are placing your script.
> You have to place your script in a path that is auto searched for
> executable scripts.
>
./<filespec.sh> fixes that
> Place your script in /usr/local/bin on your development pc and on the
> new installed os pc. Then just entering the script on the console
> command line will cause it to execute. BY the way your script doesn't
> need to be suffixed with .sh to work.
It does need the suffix .sh because if it is missing I fail to
function...... the computer does just fine.
More information about the freebsd-questions
mailing list