Problem with BASH and [ ! -t 0 ] test.

Jonathan Chen jonc at chen.org.nz
Wed Feb 18 16:40:04 PST 2009


On Wed, Feb 18, 2009 at 07:18:03AM -0800, GESBBB wrote:
> I am using this snippet of code in a bash script that is run via CRON.
> ?
> ?
> <snippet>
> # See if we are running via CRON
> ??? if [ ! -t 0 ]
> ????? then
> # Use the BASH RANDOM function to generate a random number between 0 & 32767
> ??????? RESTING=$((RANDOM/60))
> ??????? sleep ${RESTING}
> ??? fi
> </snippet>
> ?
> ?
> It runs fine from the console; however, when run via CRON, it outputs this error message.
> ?
> Tput: No terminal type specified and no TERM environmental variable.

Bash is looking up the user's bash startup-scripts, and one of the
script commands assumes that it's running on a terminal.
-- 
Jonathan Chen <jonc at chen.org.nz>
----------------------------------------------------------------------
                         "In mathematics you don't understand things.
                                           You just get used to them."
                                                 - Johann von Neumann


More information about the freebsd-questions mailing list