The UNIX and Linux Forums  

Go Back   The UNIX and Linux Forums > Top Forums > UNIX for Dummies Questions & Answers
Google UNIX.COM


UNIX for Dummies Questions & Answers If you're not sure where to post a UNIX or Linux question, post it here. All UNIX and Linux newbies welcome !!

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
ksh scripting help praveenbvarrier Shell Programming and Scripting 1 04-15-2008 07:19 AM
sql scripting help sam786 Shell Programming and Scripting 3 12-10-2007 08:31 AM
difference between AIX shell scripting and Unix shell scripting. haroonec Shell Programming and Scripting 2 04-12-2006 05:12 AM
scripting guru's pls help me with scripting on AIX thatiprashant Shell Programming and Scripting 1 01-20-2006 03:58 PM
Scripting? woofie What's on Your Mind? 1 03-09-2005 03:03 AM

Reply
 
Submit Tools LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 05-14-2008
Registered User
 

Join Date: May 2008
Posts: 3
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit! Stumble this Post!Spurl this Post!
Scripting help

Hi,
I have an assignment for my Unix class to write a program asking a user to enter a number. the user then chooses an option from a menu of whether they want to count down to zero from the number they entered, or count up from zero to the number. The error i keep getting is binary operator expected for lines 9 and 14 , than when i change that it says unary operator expected. Also I want to know if I coded this whole thing corretly. any ideas?

Code:
echo "Enter a number"
read $number
echo "What do you want to do to this number?"
echo "Enter d, to count down to zero"
echo "Enter u, to count  up from zero"
read choice
case $choice in
d) while [ "$number" \>= "0" ]
do
echo $number
$number = `expr $number - 1`
done;;
u) while [ "0" \<= "$number" ]
do
echo $number
$number = `expr $number + 1`
done;;
esac
echo "bye"
~
Reply With Quote
Forum Sponsor
  #2 (permalink)  
Old 05-14-2008
Smiling Dragon's Avatar
Disorganised User
 
Join Date: Nov 2007
Location: New Zealand
Posts: 577
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit! Stumble this Post!Spurl this Post!
It looks like you might be hitting problems with some of your variables not getting set correctly. To debug, try adding an echo line for each variable just before you go to use it to check everything is as it should be.

Also, check that you are using the right comparison operator, I'm pretty sure = works for numbers, not quoted strings.

Rules of unix.com prevent very explicit help on classwork but I'm sure we can help you on useful debugging steps.
Reply With Quote
  #3 (permalink)  
Old 05-14-2008
Registered User
 

Join Date: May 2008
Posts: 3
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit! Stumble this Post!Spurl this Post!
Hi, Thank you Smiling Dragon. i fixed the problems with not having the dollar sign in front of the choice variable. however, now i can run the script and I get no errors, but nothing outputs except the "bye" at the end. I know you cant give me the answer, but would you know how to point in the right direction?
Reply With Quote
  #4 (permalink)  
Old 05-14-2008
rubin's Avatar
Registered User
 

Join Date: Nov 2007
Posts: 134
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit! Stumble this Post!Spurl this Post!
As Smiling Dragon mentioned it's against the forum's rules posting homework..., but at least you have put some effort:

Code:
echo "Enter a number"
read number
echo "What do you want to do to this number?"
echo "Enter d, to count down to zero"
echo "Enter u, to count  up from zero"
read choice
case $choice in
d) while [ "$number" -ge 0 ]
do
echo $number
number=`expr $number - 1`      # no spaces here before/after = sign
done;;
u) while [ 0 -le "$number" ]
do
echo $number
number=`expr $number + 1`
done;;
esac
echo "bye"
~

Last edited by rubin; 05-14-2008 at 04:59 PM. Reason: removed extra $$
Reply With Quote
  #5 (permalink)  
Old 05-14-2008
Registered User
 

Join Date: May 2008
Posts: 3
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit! Stumble this Post!Spurl this Post!
Thank you both SO much for your help!!!
Reply With Quote
Google UNIX.COM
Reply

Thread Tools
Display Modes


The 50 most popular UNIX and Linux searches.
Google Search Cloud for The UNIX and Linux Forums
421 service not available, remote server has closed connection ^m automate ftp autosys awk trim bash eval bash for loop boot: cannot open kernel/sparcv9/unix command copy/move folder in unix couldn't set locale correctly curses.h cut command in unix export command in unix find grep find mtime find null character in a unix file grep multiple lines grep or grep recursive inaddr_any inappropriate ioctl for device lynx javascript mailx attachment mget mtime ping port remove first character from string in k shell replace space by comma , perl script rsync ftp scp recursive segmentation fault(coredump) sftp script snoop unix solaris change ip address stale nfs file handle syn_sent tar exclude tar extract to folder test: argument expected unix unix .profile unix forum unix forums unix internals unix interview questions unix mtime unix simulator unix.com vi substitute while loop within while loop shell script


All times are GMT -7. The time now is 02:52 AM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited.
The UNIX and Linux Forums Content Copyright ©1993-2008 The CEP Blog All Rights Reserved -Ad Management by RedTyger Visit The Global Fact Book

Content Relevant URLs by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101