I am taking a class in UNIX and have written a script that needs to countdown from a number that is read in from the keyboard to zero. If no number is given the start of the countdown should default to 10.
I can't get this to do the default
#! /bin/sh
echo Enter a number here to countdown from a number to 0
read x
if [ -n $x ]; then
count=$x
else
count=10
fi
while [ $count -ge 0 ]
do
echo $count seconds
count=`expr $count - 1`
done
echo Off we go!
Does anyone know what I am doing wrong?
We're really not supposed to help folks with homework assignments on this board. But you've done most of the work and you're stuck on a very tricky problem.
if [ -n $x ]
will not work, If there is nothing in x the command becomes:
if [ -n ]
So you need to use
if [ -n "$x" ]
Now when threre's nothing in x, the command becomes
if [ -n "" ]
I actually realized that it had to be something similar to this last night as I had moved onto the next scrip to work on. I like UNIX scripting, but as with every other language I have taken it is the syntax that really throws me for a loop -- hee hee no pun intended.
Thank you for helping me. I will not ask for Homework help again. I don't want to get in trouble.