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:
I know this works as we (unfortunately) had a dump on Saturday, and the script now returns
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:
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)
Why does the ls need to be in a conditional anyway?
Your egrep had an empty regular expression, which makes it list all lines. I changed it to "what" on the assumption that you took something out for privacy reasons, and it's not really meant to be empty.
Last edited by era; 06-02-2008 at 06:28 AM..
Reason: made $dir a variable
Why does the ls need to be in a conditional anyway?
Your egrep had an empty regular expression, which makes it list all lines. I changed it to "what" on the assumption that you took something out for privacy reasons, and it's not really meant to be empty.
I suppose the ls, doesn't have to be in there, it's just how I've come to set up variables... x=`yadda` (I didn't mean to leave the () around the variable, that was a remnant from a syntax test).
That last pipe on the egrep is a typo, left from when I had thought that all four dumps were in the same directory.
I'm not sure I follow all of what you did there, but I'll go through the parts I think I get and you can tell me where I'm wrong (if you don't mind)
x is any element of the array that is created from everything that follows, which is ls -ltr /mydir...then using awk instead of egrep to isolate the things I was looking for and printing the 9th column same as before
I think what you're saying is
-echo yadda...
-set a variable called dir which is simply the name of the path...
*I don't know case yet, but from what I gather looking at your usage, I assume it means something along the lines of:
-in the event that any of the elements of the array are in core than set dir to /myotherpath
-ls -ltr the path/name of the element
Am I following the commands more or less correctly?
Now if you do it like this, what happens if there is a dump in lets say, qamManager and core? won't the way that the dir variable is changed dependent on the location of x throw off the final output?
Oh, and just as an overall comment, I really appreciate the way that you answered this. You mostly stuck with the same method I was trying to use, just tweaked it so that it...you know...works. I've noticed many people on this board throw out all kinds of awesome exotic answers that while yeah they do what you're trying to get done, don't exactly facilitate learning. (I'm not sure if that made sense...but I've been awake for ~40 hours)
Last edited by DeCoTwc; 06-02-2008 at 06:57 AM..
Reason: no sleep and no beer make DeCo something something...and noticed a silly typo
But to answer the question...
And leave that shopt command in when you try it.
I really appreciate the response, but I honestly don't understand pretty much any of it with the possible exception of the overall if/elif. But even then it's not done in a way I'm familiar with. It's my fault as I'm a very basic user, but I suppose now I have I have some new things to try to research (IE: shopt -s extglob)
*I don't know case yet, but from what I gather looking at your usage, I assume it means something along the lines of:
-in the event that any of the elements of the array are in core than set dir to /myotherpath
It's basically equivalent to "if"; it's just another way of saying "if x is foo then set dir to bar". It compares the current value of x, not "any of the elements of the array". (Strictly speaking there isn't an "array" involved, just a list of tokens, which are file names.)
Quote:
Now if you do it like this, what happens if there is a dump in lets say, qamManager and core? won't the way that the dir variable is changed dependent on the location of x throw off the final output?
There will be two iterations, one where x is set to qamManager and one iteration when x is core
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)
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)
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)
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)
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)
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)
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)
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)