New to Linux scripting question


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers New to Linux scripting question
# 1  
Old 05-11-2015
New to Linux scripting question

hello i am new to scripting and Linux in general. i am going to school for sys admin and i will need at least some knowledge on scripting. i have been so far ok with learning basic scripting now i am stuck. with a assignment that i was given it was create a script that will tell you if a number is odd or even, i got it to work but don't know why. the script is this:

Code:
#!/bin/bash
echo "please tell me a number between 0 and 20"
read num
even=$(( $num % 2 ))
if [ $even -eq  0 ]
    then echo "you have a even number"
    else echo "you have a odd number"
fi

my question is what does this command do

Code:
even=$(( $num % 2 ))

does it take the number and break it down to the lowest denominator (0 or 1) or does it do something else.
also what doe the % mean in scripting. i looked it up and found out its called that modulo (remainder) but i do not know what that means.
I am not trying to get an easy grade but rather i am trying to learn this because i have intro to programming next quarter and if I learn this now it will help me in the future.
one final thing. if anyone could tell me of a good beginner bash script "cheat sheet" so i can understand the scripting commands. i saw the Unix commands tab but i did not know which one to pick.

thank you

Last edited by Don Cragun; 05-11-2015 at 08:27 PM.. Reason: Add CODE and ICODE tags.
# 2  
Old 05-11-2015
In standards conforming shells $((expression)) is known as an Arithmetic Expansion. The expression is evaluated, and the value of that expression is returned as the output from the expansion. The modulo operator (%) is a binary operator that returns the integer remainder obtained when dividing the first given operand by the second given operand. For example $((5 % 2)) will return 1 because 5 divided by 2 is 2 with the remainder 1 and $((6 % 2)) will return 0 because 6 divided by 2 is 3 with the remainder 0.

For more details on the expressions that can be processed in an arithmetic expansion, look at the bash man page on your system and search for Arithmetic Expansion.
# 3  
Old 05-11-2015
thank you for answering my question. i will look into arithmetic expansion.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Scripting question

hi all, I am writing a script and beginner in shell scripting. I have tried the below script. could you please check and let me know whether the below scirpt is correct. Unix details : HP Unix Input file. cat input.txt | tail -4 HTS40002.W1978.PROM HTS40003.W1978.PROM... (17 Replies)
Discussion started by: arun888
17 Replies

2. Shell Programming and Scripting

Scripting question

Preview of command prompt f ---> to start ferret q----> to stop ferret asp@nex:~$ f NOAA/PMEL TMAP FERRET v6.82 Linux 2.6.18-308.8.2.el5PAE 32-bit - 08/03/12 3-Dec-12 16:44 yes? go my.jnl yes?column=4/skip=1/type=num,text ............filename.txt ---... (4 Replies)
Discussion started by: nex_asp
4 Replies

3. UNIX for Dummies Questions & Answers

Scripting question

folks; I have a script to remove any files that older than 14 days then move any files that younger than 7 days to another directory. but for some reason it doesn't move the files, when i do it manually it works but not through the script. i tried 2 different ways in writing the move part but it... (6 Replies)
Discussion started by: Katkota
6 Replies

4. Shell Programming and Scripting

Scripting question

Folks; I'm writing a shell script to extract some fields out of a log file & it will run periodically, how can i make it runs starting from where it left of. for example; if the script will do the extract every 2 days, let's say the first run will extract fields until July 25, 2007 @ 11:15:22... (1 Reply)
Discussion started by: moe2266
1 Replies

5. Shell Programming and Scripting

scripting question

i have to use bash to get system information like IP address and the operating system being used, does anybody know how to do this? (10 Replies)
Discussion started by: carlvernon
10 Replies

6. Shell Programming and Scripting

scripting question?

I am writing a backup script for AIX 5 and running into a problem where the output isn't being shown in the output log that is being created. Any ideas on how this would be corrected? I have included the script below. The only thing showing up in the file is listed below. I was hoping to capture... (2 Replies)
Discussion started by: justinburbridge
2 Replies

7. Shell Programming and Scripting

scripting question

I'm new to shell scripting and am having a problem trying to do something in C shell. I want to write a script that will input something instead of a user doing it. For example, using the command 'write' the user is supposed to type something to be sent to another user. I want a script to be able... (3 Replies)
Discussion started by: batmike
3 Replies

8. Shell Programming and Scripting

another scripting question

Hello I am working on cleaning up permissions on Oracle mountpoints and datafiles in unix. I am looking for a script or a scripting idea to 1st. 1. grep for owner oracle 2. ensure its a directory owned for oracle 3. chmod 750 on the oracle owned directory. 4. grep for oracle files, etc... (3 Replies)
Discussion started by: jigarlakhani
3 Replies

9. Shell Programming and Scripting

Scripting Question

This script searches for core files and if it finds one, it emails me to let me know.I DONT want it to email me if it doesn't find one but I can't figure out what I need to change or add. Any thoughts? Script below: /bin/find / -name core -type f -ls -exec file {} \;|/usr/bin/mailx -s... (1 Reply)
Discussion started by: damielle
1 Replies

10. UNIX for Dummies Questions & Answers

another scripting question

I am writing a script that will identify the oldest file in a directory. Here's the syntax: #!/bin/ksh cd directory chmod 777 * ls -r -1t > file1 sed -n -e "1P" < file1 > file2 So my problem is, now I have file2, which contains the name of the oldest file in the directory. How do I use,... (1 Reply)
Discussion started by: kristy
1 Replies
Login or Register to Ask a Question