Shell Scripting awk Problem


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Shell Scripting awk Problem
# 1  
Old 03-14-2013
Shell Scripting awk Problem

I'm limited in my skills related to *nix and I'm even more limited in my skills related to shell scripting and the use of awk. I have what should be a relatively simple shell script that looks in the /etc/fstab to see if a particular partition exists on the Linux system. The intention of this part of the script is to determine whether a /tmp partition exists on the system. If such a partition does exist, then no output would be returned. If such a partition does not exist, then three lines of text would be echoed to the screen and the script would terminate right there. So, I need to test both a positive (so that the lines of text get echoed to the screen, and a negative (so that nothing gets returned to the screen). In order to test a positive, I have my command looking for a /temp entry in /etc/fstab instead of a /tmp entry (since the system I'm testing does have a /tmp partition). Below is my code. I get no errors when I run it but I'm never able to get a positive, so I know my code is not working. Can someone tell me what is wrong with my code. Please, I do not won't suggestions about other ways to try to get the same information. I just want to know what to correct in my code to get it to work the way I need it to work.

Code:
#!/bin/bash
/bin/awk if ( grep "[[:space:]]/temp[[:space:]]" /etc/fstab )= "" then
    echo "The RHEL security benchmarks require that there be a /tmp file partition."
    echo "Since this system doesn't have one, you will need to rebuild the system,"
    echo "creating a /tmp partition.
    break
fi


Last edited by Scrutinizer; 03-14-2013 at 02:27 PM.. Reason: code tags
# 2  
Old 03-14-2013
What is the 'awk' for? That doesn't look like awk code. (awk is its own programming language.)

You do not need to check if grep's output is blank to see if it found anything. It returns a success or failure code like any other utility. You can plug it into if directly, and invert with ! if needed.

'break' only makes sense in a loop. If you want to exit, 'exit' is what you want, 'exit 1' to exit with error particularly.

Your code looks for /temp, but your warning demands /tmp. Assuming /tmp is what you really want.

You need a return, or ; , between your if statement and the then.

Warning messages should go to standard error.

Code:
if ! grep -q "/tmp" /etc/fstab
then
    echo "The RHEL security benchmarks require that there be a /tmp file partition." >&2
    echo "Since this system doesn't have one, you will need to rebuild the system," >&2
    echo "creating a /tmp partition." >&2
    exit 1
fi

# 3  
Old 03-14-2013
Thanks

Thanks a bunch, Corona688. I also found one other problem (which you wouldn't have known about because I didn't think to tell you). I created that script on a Windows box using Notepad and the ftp'ed it onto the Linux box. I didn't know that Windows inserts an M (its carriage return character) at the end of each line and the shell can't interpret that M. I had to run the dos2unix utility against the file. Then it ran properly. Thanks again.
This User Gave Thanks to DisabledVet For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Shell scripting problem

Hello. I hava homework for university but i cant do it and i need a little help if someone can help me :) I have to do a linux shell script. Write a script that does the following: 1. Check if there is a directory in / home with myDir name. If not, it creates it. 2. In the directory it... (1 Reply)
Discussion started by: alex4o0o
1 Replies

2. Emergency UNIX and Linux Support

Need support for a shell scripting problem

Hello all, I am facing a weird issue while executing a code below - #!/bin/bash cd /wload/baot/home/baotasa0/sandboxes_finance/ext_ukba_bde/pset sh UKBA_publish.sh UKBA 28082015 3 if then echo "Param file conversion for all the areas are completed, please check in your home directory"... (2 Replies)
Discussion started by: ektubbe
2 Replies

3. Shell Programming and Scripting

Scripting with awk: facing problem

Hi, I wants to print the 9th column information with its path name in some txt file. Here is one line which works fine for me: rfdir /castor/cern.ch/user/s/sudha/forPooja | grep data | awk '{print "rfio:///castor/cern.ch/user/s/sudha/forPooja/"$9}' > dataFilenames.list rfdir=="ls -ltr" ... (2 Replies)
Discussion started by: nrjrasaxena
2 Replies

4. Shell Programming and Scripting

Shell scripting newbie problem

I am trying to create a shell script similar to ls, but which only lists directories. I have the first half working (no argument version), but trying to make it accept an argument, I am failing. My logic is sound I think, but I'm missing something on the syntax, I'm guessing in the bolded line? ... (9 Replies)
Discussion started by: Tibor63
9 Replies

5. Homework & Coursework Questions

Shell Scripting Problem...

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! Hello all,,, I am trying to finish my assignment for my CNET class. I am running into 2 problems... First the "Delete a file" (Option 1) When I run this option everything... (5 Replies)
Discussion started by: ozman911
5 Replies

6. Shell Programming and Scripting

Problem in loops in shell scripting

Hi, #!/bin/ksh $v="" for ((i = 1 ; i <= 5 ; i++ )) do v="THerrFile_$i.err"; grep -i "$i:Error" $v >>oraerror_output.txt done My requirement is to dynamically create variable like THerrFile_1.err,THerrFile_2.err etc. where my grep needs... (5 Replies)
Discussion started by: sudhir_83k
5 Replies

7. Shell Programming and Scripting

Shell Scripting problem

Hi guys, I am a newbie to shell scripting.Please help me to accomplish this task. Its very urgent,I should create a script which will do the following: i) "cd ~joseph/ ; mkdir -p Bing/Bong ;mkdir -p Bing/Bang" and then create 15 ".txt" files with content "Bing Bang Bong" in "Bong"... (1 Reply)
Discussion started by: mahesh_raghu
1 Replies

8. Shell Programming and Scripting

Shell scripting and ls -1 problem

Hey, I'm running knoppix and I'm trying to run a shell script to change multiple lines of text in multiple files #!/bin/sh for i in 'ls-1 test' do sed 's/bob/manny/'g $i > $i.0 mv $i.0 $i done Obviously this isn't the original file, but it's on another non-networked machine. What... (7 Replies)
Discussion started by: afroCluster
7 Replies

9. Shell Programming and Scripting

shell scripting problem

her i am trying to edit a database file which is actually a small file holding my friend's name and birthdays My Database DEEPAK 27/08 DEEPIKA 18/02 DHYAN 23/03 DIPANKAR 24/10 SNIGDHO 19/05 AYANNAR 17/12 BHAI 22/09 DEBAN 16/08 JAGADISH 02/06 SUBHOJIT 23/02 TOJO 17/09 SUDHIR 12/09... (1 Reply)
Discussion started by: mobydick
1 Replies

10. Shell Programming and Scripting

awk scripting problem

I'm creating an oracle insert statement using awk but need to be able to escape the ' (forward single quote) as the oralce insert syntax requires these quotes. I've tried \ in and out of quotes etc. It's these single quotes values (' .....') cat $1 | awk -F"|" '{print "insert into table... (2 Replies)
Discussion started by: jinky
2 Replies
Login or Register to Ask a Question