Need some help modifying script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Need some help modifying script
# 1  
Old 05-02-2012
Need some help modifying script

I have a script that currently runs fine and I need to add or || (or) condition to the if statement and I'm not sure the exact syntax as it relates to the use of brackets.

my current script starts like this:

Code:
errLog="/usr/local/website-logs/error.log"
apacheRestart="service httpd restart"
failRegex="exit signal Segmentation fault"
scriptLog="/usr/local/websites-logs/`basename $0`.log"

while true; do
echo "`date` (re)starting control loop"
tail --follow=name --retry -n 0 "$errLog" 2>/dev/null | while read logLine; do
if [[ `echo "$logLine" | egrep "$failRegex"` ]]; then

I want to add an OR condition to my if statement and wondered if this is the correct syntax?

Code:
#!/bin/bash

errLog="/usr/local/website-logs/error.log"
apacheRestart="service httpd restart"
failRegex="exit signal Segmentation fault"
failRegex1="server seems busy"
scriptLog="/usr/local/websites-logs/`basename $0`.log"

while true; do
echo "`date` (re)starting control loop"
tail --follow=name --retry -n 0 "$errLog" 2>/dev/null | while read logLine; do
if [[ `echo "$logLine" | egrep "$failRegex"` ]] ||  [[ `echo "$logLine" | egrep "$failRegex1"` ]]; then

---------- Post updated at 12:38 PM ---------- Previous update was at 12:33 PM ----------

and is there some special need to the double brackets in this script I found online?
# 2  
Old 05-02-2012
double square brackets will evaluate condition, and based on true or false flow will work
Single square brackets requires a value to evaluate for eg. if [ $var -eq 0 ]; then ... fi

Your IF syntax will work fine. You can use following to reduce OR:
Code:
if [[ `echo "$logLine" | egrep "$failRegex|$failRegex1"` ]]

# 3  
Old 05-02-2012
Seems silly to echo then spawn egrep to see if a variable contains something. bash can do

Code:
if [[ $logLine = *$failRegex* ]] || [[ $logLine = *$failRegex1* ]]; then

posix can do

Code:
case "$logLine" in
  *"$failRegex"*|*"$failRegex1"*)
    ...
    ;;
esac

# 4  
Old 05-02-2012
Quote:
Originally Posted by neutronscott
Seems silly to echo then spawn egrep to see if a variable contains something. bash can do

Code:
if [[ $logLine = *$failRegex* ]] || [[ $logLine = *$failRegex1* ]]; then

posix can do

Code:
case "$logLine" in
  *"$failRegex"*|*"$failRegex1"*)
    ...
    ;;
esac

much appreciate - I am but a novice - I'll give your code a try!
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk script for modifying the file

I have the records in the format one row 0009714494919I MY010727408948010 NNNNNN N PUSAAR727408948010 R007YM08705 9602002 S 111+0360832-0937348 I want to get it int the format 0009714494919I MY010727408948010 NNNNNN N PUSAAR727408948010 R007YM08705 9602002 S ... (2 Replies)
Discussion started by: sonam273
2 Replies

2. Shell Programming and Scripting

Modifying the Restart Script

Hello, I have a shell script which calls for an existing script with appropriate parameters. It looks something like this. -------------------------------------------------------------------------- #!/bin/bash sh /root/ams_rc stop_shepherd > /dev/null sleep 30 sh /root/ams_rc... (9 Replies)
Discussion started by: Siddheshk
9 Replies

3. UNIX for Dummies Questions & Answers

Modifying a shell script without using an editor

Hi all, I really wan't to know that how to edit a shell script with out using an editor.. Is there any command? (4 Replies)
Discussion started by: buddhi
4 Replies

4. Shell Programming and Scripting

Modifying XML document with Unix Script

Hi, I have xml documents that I want to change a value in, I can do it using sed in a text document but not the xml document. I have read other posts that allow the change between tags but the part I wish to change is only a small part of data with the tags. e.g. <?xml version="1.0"... (2 Replies)
Discussion started by: heather.morton@
2 Replies

5. Shell Programming and Scripting

modifying file using script

Hi, I am new to shell programming, and want to know is it possible to change the contents of file using script? for example, if want to search 2 words and want to replace these words with 2 new words. Regards, Manoj (4 Replies)
Discussion started by: manoj.solaris
4 Replies

6. Shell Programming and Scripting

modifying perl script

Hi freinds I have a small problem I want u to help me in, I have a syslog server and configured it to send me email automatically, I get a small perl script to help me in, and tested it to send alerts to root and it worked successfully without any problems Now I want to send it outside, I... (4 Replies)
Discussion started by: reaky
4 Replies

7. Shell Programming and Scripting

Modifying the ntpd deamon script

I need to replace the line daemon ntpd $OPTIONS in the following script with daemon ntpd $OPTIONS 2>&1 > /var/log/ntpd.log & what will happen? The idea of replacing is to capture the output on the console into ntpd.log file. Will this work? ... (1 Reply)
Discussion started by: naive1977
1 Replies

8. Shell Programming and Scripting

Modifying a .ksh script

Hi users, I am on a beginner level and just joined this site. I have created a simple .ksh file in the following manner cat <<EOF >mfile #!/bin/ksh echo "hello world" EOF Request for some help with 2 cases 1. now i would like to add a second line after the first echo command... (4 Replies)
Discussion started by: corbusier
4 Replies

9. Shell Programming and Scripting

Help modifying script to loop through all folders

I have this script someone very kindly help me write last year which loops through all files in a folder and does a command. I need to modify it to loop through all sub-folders of a main folder and only perform the command on files modified after Jan 1st 2008. And I need the command to place the... (3 Replies)
Discussion started by: Fred Goldman
3 Replies

10. Shell Programming and Scripting

need help with understanding and modifying script

hi all, i am new to UNIX. this is my first time using Ubuntu. i need to do this for my fyp. i am using an artificial neural network model to predict the yield strength of steel. the shell script used to execute this model is as shown here: #Thomas Sourmail, Cambridge University /... (4 Replies)
Discussion started by: dakkorn
4 Replies
Login or Register to Ask a Question