shell script - loop to countdown

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.