Sponsored Content
Top Forums Shell Programming and Scripting how do I say "if myvar = doe or ray or mii" Post 302201364 by DeCoTwc on Monday 2nd of June 2008 04:53:27 AM
Old 06-02-2008
how do I say "if myvar = doe or ray or mii"

Ok, I have what I think is a relatively simple question, but being me I'll give the full background. In writing a new CheckSystem for one of my servers at work I want to check for core dumps. I was originally doing this like so:
Code:
dumps=`ls -ltr /dvs/dncs/tmp/corefiles/|awk '{print $9}'|egrep "qamManager|dsm|drm|";ls -ltr /dvs/dncs|awk '{print $9}'|grep core`
if [ "$dumps" = "drm" ]
then 
echo "###################################"
echo "There has been a core dump for the following Processes:"
echo "###################################"
ls -ltr /dvs/dncs/tmp/corefiles|grep drm
echo "###################################"
fi

if [ "$dumps" = "dsm" ]
then
echo "###################################"
echo "There has been a core dump for the following Processes:"
echo "###################################"
ls -ltr /dvs/dncs/tmp/corefiles|grep dsm
echo "###################################"
fi
if [ "$dumps" = "qamManager" ]
then
echo "###################################"
echo "There has been a core dump for the following Processes:"
echo "###################################"
ls -ltr /dvs/dncs/tmp/corefiles|grep qamManager
echo "###################################"
fi
if [ "$dumps" = "core" ]
then
echo "###################################"
echo "There has been a core dump for the following Processes:"                                                                                    
echo "###################################"                                                                                                                   
ls -ltr /dvs/dncs/|grep core
echo "###################################"   
fi

I know this works as we (unfortunately) had a dump on Saturday, and the script now returns

Code:
###################################
There has been a core dump for the following Processes:
###################################
drwxrwxrwx   3 dncs     dncs         512 May 31 23:49 drm
###################################

However this seemed like a sloppy implementation to me, plus I realized (oddly enough while on a rollercoaster at 6 flags today) that in the event of more than one core dump the script isn't going to work as the variable isn't going to match. So tonight I (agonizingly) amended the script to:

Code:
dumps=`(ls -ltr /dvs/dncs/tmp/corefiles/|awk '{print $9}'|egrep "qamManager|dsm|drm|";ls -ltr /dvs/dncs|awk '{print $9}'|grep core)`
for x in $dumps;
do  
if [ $x = "drm" ]
then 
echo "###################################"
echo "There has been a core dump for the following Processes:"
echo "###################################"
ls -ltr /dvs/dncs/tmp/corefiles|grep drm
echo "###################################"
fi
done

Now, this works...but only because it specifies just the one thing that I know it's going to match. I don't know the syntax on how to say "if $x = drm or dsm or qamManager or core then yadda yadda yadda" and I assume that there must be a way to do this with out running 4 different for/if loops.

I'm pretty certain that I could work my way around this issue by echoing $dumps and feeding it through a nawk statement... (I know my logic slightly better in nawk) but I'm trying to fill in my fundamental skills. I know this is a really basic question but I'd any help I'd appreciate.

Also, as with everything I post here, if anyone has an overall criticism on my implementation of solving my problem, I'd love to hear it...that's how you learn.

(oh, this is all in bash, you can't see the shebang line as this is cut from larger scripts)
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Explain the line "mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`"

Hi Friends, Can any of you explain me about the below line of code? mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'` Im not able to understand, what exactly it is doing :confused: Any help would be useful for me. Lokesha (4 Replies)
Discussion started by: Lokesha
4 Replies

2. Shell Programming and Scripting

cat $como_file | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g'

hi All, cat file_name | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g' Can this be done by using sed or awk alone (4 Replies)
Discussion started by: harshakusam
4 Replies

3. Shell Programming and Scripting

ps -ef | grep "string1" "string2" " "string3"

Hi all, can any one suggest me the script to grep multiple strings from ps -ef pls correct the below script . its not working/ i want to print OK if all the below process are running in my solaris system. else i want to print NOT OK. bash-3.00$ ps -ef | grep blu lscpusr 48 42 ... (11 Replies)
Discussion started by: steve2216
11 Replies

4. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

5. Shell Programming and Scripting

how to use "cut" or "awk" or "sed" to remove a string

logs: "/home/abc/public_html/index.php" "/home/abc/public_html/index.php" "/home/xyz/public_html/index.php" "/home/xyz/public_html/index.php" "/home/xyz/public_html/index.php" how to use "cut" or "awk" or "sed" to get the following result: abc abc xyz xyz xyz (8 Replies)
Discussion started by: timmywong
8 Replies

6. Solaris

The slices "usr", "opt", "tmp" disappeared!!! Help please.

The system don't boot. on the screen appears following: press enter to maintenance (or type CTRL-D to continue)...I checked with format command. ... the slices "0-root","1-swap","2-backup" exist. ...the slises "3-var","6-usr" -unassigned. :( (16 Replies)
Discussion started by: wolfgang
16 Replies

7. UNIX for Dummies Questions & Answers

Using "mailx" command to read "to" and "cc" email addreses from input file

How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address and column 3 contains “cc” e-mail address to include with same email. Sample input file, email.txt Below is an sample code where... (2 Replies)
Discussion started by: asjaiswal
2 Replies

8. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

Hello. System : opensuse leap 42.3 I have a bash script that build a text file. I would like the last command doing : print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt where : print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies

9. AIX

Apache 2.4 directory cannot display "Last modified" "Size" "Description"

Hi 2 all, i have had AIX 7.2 :/# /usr/IBMAHS/bin/apachectl -v Server version: Apache/2.4.12 (Unix) Server built: May 25 2015 04:58:27 :/#:/# /usr/IBMAHS/bin/apachectl -M Loaded Modules: core_module (static) so_module (static) http_module (static) mpm_worker_module (static) ... (3 Replies)
Discussion started by: penchev
3 Replies
All times are GMT -4. The time now is 01:36 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy