Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 18 Feb 2009 11:09:47 -0900
From:      Mel <fbsd.questions@rachie.is-a-geek.net>
To:        freebsd-questions@freebsd.org
Subject:   Re: Problem with BASH and [ ! -t 0 ] test.
Message-ID:  <200902181109.47179.fbsd.questions@rachie.is-a-geek.net>
In-Reply-To: <alpine.BSF.2.00.0902181238280.15654@wonkity.com>
References:  <502804.7096.qm@web32108.mail.mud.yahoo.com> <alpine.BSF.2.00.0902181238280.15654@wonkity.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday 18 February 2009 10:40:47 Warren Block wrote:
> On Wed, 18 Feb 2009, GESBBB wrote:
> > I am using this snippet of code in a bash script that is run via CRON.
> > =A0
> > <snippet>
> > # See if we are running via CRON
> > =A0=A0=A0 if [ ! -t 0 ]
> > =A0=A0=A0=A0=A0 then
> > # Use the BASH RANDOM function to generate a random number between 0 &
> > 32767 RESTING=3D$((RANDOM/60))
> > =A0=A0=A0=A0=A0=A0=A0 sleep ${RESTING}
> > =A0=A0=A0 fi
> > </snippet>
> > =A0
> > =A0
> > It runs fine from the console; however, when run via CRON, it outputs
> > this error message.=20
> > Tput: No terminal type specified and no TERM environmental variable.
> > =A0
> > I have Googled about, yet I cannot find an answer. Perhaps some Bash gu=
ru
> > can assist me.
>
> cron uses /bin/sh, not bash.

No. cron uses execvp, which will:
1) execute as binary if header is recognized
2) execute with whatever the she-bang says (#!)
3) run as /bin/sh /path/to/file if 1) and 2) fail.

Can't reproduce the error though, using:
#!/usr/local/bin/bash

unset TERM
sleep 1;

if [ ! -t 0 ]; then
        echo No term >> out
else
        echo term >> out
fi

I run as:
daemon ./test.sh 2>err

then logout the ssh session, so terminal becomes invalid. It correctly says=
=20
term and no term, no tput errors. Same for /bin/sh, by the way.

=2D-=20
Mel

Problem with today's modular software: they start with the modules
    and never get to the software part.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200902181109.47179.fbsd.questions>