Simple Script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Simple Script
# 1  
Old 05-11-2008
Simple Script

Hello,

I am new to shell scripting. I am running UBUNTU at work and using BASH.

I have this script:

Code:
read M
read R
read T
A=$M+$R+$T
B=2000
if test A -gt B
then
   echo "A is greater than 2000"
else
   echo " A is 2000 or less"
fi

All I am trying to do is to add M, R and T arithmetically and store them in A and then I have to check if A is greater than 2000. If I have A=1 and B=2 and C=3 the value of A is equal to "1+2+3" and not six....

What do I have to do to fix the problem? I feel silly asking this question here but I have looked in books and on the web and what I try does not seem to work.
# 2  
Old 05-11-2008
Hi! If you're doing arithmetic expression, you can do it like the examples below:

Code:
A=`expr $M + $R + $T`

or

Code:
A=$((M+R+T))


Last edited by yongitz; 05-11-2008 at 10:04 PM..
# 3  
Old 05-11-2008
Okay now I have this problem...

I have:

Code:
read M
read R
read T
A=`expr $M + $R + $T`
B=2000
if test A -gt B
then
   echo "A is greater than 2000"
else
   echo " A is 2000 or less"
fi

When I run the script I get:

mohit@mohit-desktop:~$ ./evaluate_mk
1
2
3
./evaluate_mk: line 6: test: A: integer expression expected
A is 2000 or less
mohit@mohit-desktop:~$

I checked and A is an integer and I made B 2000 so that is an integer. What do I do to fix this problem?
# 4  
Old 05-11-2008
When variables are used, they are referred to with the "$" symbol in front of them, so in your test it should be

Code:
if test $A -gt $B

# 5  
Old 05-12-2008
Hi try this code in bash,

read M
read R
read T
A=`expr $M + $R + $T`
B=2000
if [ "$A" -gt "$B" ]; then
echo "A is greater than 2000"
elif [ "$A -lt "$B ];
echo "A is less than 2000"
elif [ "$A" = "$B" ]; then
eho "A is equal to 2000"
fi
# 6  
Old 05-12-2008
Missing a few " quotes there ragavhere. Smilie
# 7  
Old 05-12-2008
read M
read R
read T
A=`expr $M + $R + $T`
B=2000
if [ "$A" -gt "$B" ]; then
echo "A is greater than 2000"
elif [ "$A" -lt "$B" ];
echo "A is less than 2000"
elif [ "$A" = "$B" ]; then
echo "A is equal to 2000"
fi
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Simple if script

Hi, new to unix and scripting, and i'm trying to set up a simple "if" script to create a seperate flag file dependant on success. So far i have the following ($5 is a variable passed to the script from the backup job) if then touch /u03/backups/backup_ended.flag else touch... (13 Replies)
Discussion started by: richs24
13 Replies

2. Linux

How to execute a simple select script using a shell script?

Hi team, I have two select statements and need to run them using SYSDBA user select * from temp_temp_seg_usage; select segment_name, tablespace_name, bytes/ (1024*1024) UsedMb from dba_segments where segment_name='TEMP_TEMP_SEG_USAGE'; Need to run this using a shell script say named... (1 Reply)
Discussion started by: pamsy78
1 Replies

3. Shell Programming and Scripting

Help making simple perl or bash script to create a simple matrix

Hello all! This is my first post and I'm very new to programming. I would like help creating a simple perl or bash script that I will be using in my work as a junior bioinformatician. Essentially, I would like to take a tab-delimted or .csv text with 3 columns and write them to a "3D" matrix: ... (16 Replies)
Discussion started by: torchij
16 Replies

4. Shell Programming and Scripting

Simple Script Can u help please?

I have a file that contains these lines User ID Username -------- ---------- 7738626,zrazak 7783535,jvincigu 7805567,ldrennan 7805583,mtsakama I need to sort the names alphabetically How can I sort the lines based on the user names ? I would appreciate a quick reply anyone ... (1 Reply)
Discussion started by: mnassiri
1 Replies

5. Shell Programming and Scripting

Simple Script to do so?

hi guys, i am a noob to shell scripting, and i would like to run a simple script, that could simply do the following: 1. SFTP to a remote server/path...and download the newest *.gz backup file on that server. (there are many *.gz files in that folder, i simply need the latest one) 2. locally... (1 Reply)
Discussion started by: Confidence
1 Replies

6. Shell Programming and Scripting

Simple script

I have a script that will check for integer line by line and if it encounter any blank space will echo it: Below the script: #!/bin/ksh while read i do echo "Value is $i" count=`expr substr "$i" 1 3` echo $count if && then echo "Matched" else echo "Blank Space Found" fi (3 Replies)
Discussion started by: ali560045
3 Replies

7. UNIX for Dummies Questions & Answers

Simple script

I am trying to print my script arguments, but i am stuck at the arrow pointed lines..please help #!/bin/bash echo "Number of arguments $#" count=1 while do echo ${$count} <======================== count = $(expr $count +1) <================== done (4 Replies)
Discussion started by: chvs2000
4 Replies

8. Shell Programming and Scripting

simple script

Hi, I just need a shell script to find out the processes taking longer time...(Unix/Linux) Urgent response needed.. Rajiv (5 Replies)
Discussion started by: rajivn786
5 Replies

9. Shell Programming and Scripting

Simple Script

Here is the script that i am trying to run. I get an error and i can't figure out what is the problem. #!/bin/bash echo "What is your name" read NAME if ; then echo "My name is the same" esle echo "You have a nice name" fi (11 Replies)
Discussion started by: xplod4202
11 Replies

10. UNIX for Dummies Questions & Answers

help with simple script

I need a script that checks to see if ypserv is running, and if not it will restart yp. I have a ypslave that is running Sol9, and the ypsrv daemon is dieing, I want to create a cron job that periodicly checks to see if it's running, and if it see's that it isn't, it will re-start the daemon (1 Reply)
Discussion started by: jdel80
1 Replies
Login or Register to Ask a Question