Sponsored Content
Top Forums Shell Programming and Scripting Smarter conditional script with Table Post 302826609 by Just Ice on Thursday 27th of June 2013 03:13:04 AM
Old 06-27-2013
you can use case ... sample below assumes only one group notified per run - remove break in case statement if not required ...

file.txt (created manually or from mysql command)
Code:
IRC
PTM
ADM
BS

script
Code:
CNT=0    # use to check if any of the group errors are found
for GRP in $(< file.txt)
do
     echo $CHECKER | grep $GRP > /dev/null
     if [ $? -eq 0 ]
     then
           CNT=$(($CNT + 1))
           case $GRP in 
           ADM)message=$message2;;
           IRC) message=$message2;;
	   PTM) message=$message2;;
            BS) message=$message2;;
           esac
           eval SUBJECT=\$${GRP}subject
           eval ADDLIST=\$${GRP}emails
           for EMAIL_ADDRESS in $ADDLIST
           do
	        echo $message | mailx -s "$SUBJECT" -a From:$SENDER $EMAIL_ADDRESS
	   done
           echo " email sent to $GRP contacts"
           break
    fi
done

if [ $CNT -eq 0 ]
then
      $SPAM
fi


Last edited by Just Ice; 06-27-2013 at 04:25 AM.. Reason: fixed break location
 

7 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Confusion over a small conditional script

Hi, I was going through a file containing hundreds of lines of codes having conditional statement written as: log() { echo $@ } num=$(/usr/bin/rsh <one_machine> -l root 'ls -d /home/user/db* 2> /dev/null' | wc -w) (( num > 0 )) && log "db info:" so,if here the return value(stored in... (2 Replies)
Discussion started by: amit4g
2 Replies

2. Shell Programming and Scripting

Conditional Date Script

I am learning Unix for the first time. I am playing around with my default profile file to add some script in the KSH. The time format is GMT and I am in eastern time zone. I am trying to script some greetings based upon the time of day using the IF/ELIF conditions. I am getting errors. I have... (2 Replies)
Discussion started by: cpd259
2 Replies

3. Shell Programming and Scripting

unix script for conditional execution

Below is my shell script. I am trying to execute two different BTEQ scripts depending on the day of the week. So on a saturday I will execute a certain BTEQ script and on other weekdays I will run the other script. #!/bin/ksh dt=`date +"%a"` if then bteq > final_output <<- EOF .run... (3 Replies)
Discussion started by: Mihirjani
3 Replies

4. Shell Programming and Scripting

Conditional Execution of a Script.

I have a unix shell script Test.sh more Test.sh echo "Calling dbquery1.sh...." ./dbquery1.sh echo "Calling dbquery2.sh...." ./dbquery2.sh more dbquery1.sh sqlplus -s user1/password1@DB_SID @/tmp/storedprocedures/Hello.rcp I run Test.sh However, I do not want dbquery2.sh to be... (3 Replies)
Discussion started by: mohtashims
3 Replies

5. Shell Programming and Scripting

Help with conditional clauses for script output

Hello. I am new this site as well as new to shell scripting and this is my first form... Please help me with the following shell script. I am executing a shell script to run every 15 min (scheduled in cronjob) and it gives an output in an output file which is e-mailed. CONCCOUNT=`cat... (1 Reply)
Discussion started by: Jamessteevens
1 Replies

6. UNIX for Dummies Questions & Answers

Conditional Script

Hi, I have a script file which has some simple commands. I want these commands to be executed based on the input. Ia m good with IF statement also. At the end it has to be based on incoming value. Example CASE 1 : Execute some commands where Input value as 1 CASE 2 : Execute... (5 Replies)
Discussion started by: vrupatel
5 Replies

7. Shell Programming and Scripting

Smarter way to read $1 $2 in php

Hello, I am running under ubuntu14.04 with php5. When I run below php, it creates a token, then adds axaxax and bxbxbx into pc database, and at last, kills created token. What I am trying to do is to add userid and password read from a file. I do not wish to enter username and password manually.... (3 Replies)
Discussion started by: baris35
3 Replies
STREAM_NOTIFICATION_CALLBACK(3) 					 1					   STREAM_NOTIFICATION_CALLBACK(3)

stream_notification_callback - A callback function for the notificationcontext parameter

SYNOPSIS
void stream_notification_callback (int $notification_code, int $severity, string $message, int $message_code, int $bytes_transferred, int $bytes_max) DESCRIPTION
A callable function, used by the notification context parameter, called during an event. Note This is not a real function, only a prototype of how the function should be. PARAMETERS
o $notification_code - One of the STREAM_NOTIFY_* notification constants. o $severity - One of the STREAM_NOTIFY_SEVERITY_* notification constants. o $message - Passed if a descriptive message is available for the event. o $message_code - Passed if a descriptive message code is available for the event. The meaning of this value is dependent on the specific wrapper in use. o $bytes_transferred - If applicable, the $bytes_transferred will be populated. o $bytes_max - If applicable, the $bytes_max will be populated. RETURN VALUES
No value is returned. EXAMPLES
Example #1 stream_notification_callback(3) example <?php function stream_notification_callback($notification_code, $severity, $message, $message_code, $bytes_transferred, $bytes_max) { switch($notification_code) { case STREAM_NOTIFY_RESOLVE: case STREAM_NOTIFY_AUTH_REQUIRED: case STREAM_NOTIFY_COMPLETED: case STREAM_NOTIFY_FAILURE: case STREAM_NOTIFY_AUTH_RESULT: var_dump($notification_code, $severity, $message, $message_code, $bytes_transferred, $bytes_max); /* Ignore */ break; case STREAM_NOTIFY_REDIRECTED: echo "Being redirected to: ", $message; break; case STREAM_NOTIFY_CONNECT: echo "Connected..."; break; case STREAM_NOTIFY_FILE_SIZE_IS: echo "Got the filesize: ", $bytes_max; break; case STREAM_NOTIFY_MIME_TYPE_IS: echo "Found the mime-type: ", $message; break; case STREAM_NOTIFY_PROGRESS: echo "Made some progress, downloaded ", $bytes_transferred, " so far"; break; } echo " "; } $ctx = stream_context_create(); stream_context_set_params($ctx, array("notification" => "stream_notification_callback")); file_get_contents("http://php.net/contact", false, $ctx); ?> The above example will output something similar to: Connected... Found the mime-type: text/html; charset=utf-8 Being redirected to: http://no.php.net/contact Connected... Got the filesize: 0 Found the mime-type: text/html; charset=utf-8 Being redirected to: http://no.php.net/contact.php Connected... Got the filesize: 4589 Found the mime-type: text/html;charset=utf-8 Made some progress, downloaded 0 so far Made some progress, downloaded 0 so far Made some progress, downloaded 0 so far Made some progress, downloaded 1440 so far Made some progress, downloaded 2880 so far Made some progress, downloaded 4320 so far Made some progress, downloaded 5760 so far Made some progress, downloaded 6381 so far Made some progress, downloaded 7002 so far Example #2 Simple progressbar for commandline download client <?php function usage($argv) { echo "Usage: "; printf(" php %s <http://example.com/file> <localfile> ", $argv[0]); exit(1); } function stream_notification_callback($notification_code, $severity, $message, $message_code, $bytes_transferred, $bytes_max) { static $filesize = null; switch($notification_code) { case STREAM_NOTIFY_RESOLVE: case STREAM_NOTIFY_AUTH_REQUIRED: case STREAM_NOTIFY_COMPLETED: case STREAM_NOTIFY_FAILURE: case STREAM_NOTIFY_AUTH_RESULT: /* Ignore */ break; case STREAM_NOTIFY_REDIRECTED: echo "Being redirected to: ", $message, " "; break; case STREAM_NOTIFY_CONNECT: echo "Connected... "; break; case STREAM_NOTIFY_FILE_SIZE_IS: $filesize = $bytes_max; echo "Filesize: ", $filesize, " "; break; case STREAM_NOTIFY_MIME_TYPE_IS: echo "Mime-type: ", $message, " "; break; case STREAM_NOTIFY_PROGRESS: if ($bytes_transferred > 0) { if (!isset($filesize)) { printf(" Unknown filesize.. %2d kb done..", $bytes_transferred/1024); } else { $length = (int)(($bytes_transferred/$filesize)*100); printf(" [%-100s] %d%% (%2d/%2d kb)", str_repeat("=", $length). ">", $length, ($bytes_transferred/1024), $filesize/1024); } } break; } } isset($argv[1], $argv[2]) or usage($argv); $ctx = stream_context_create(); stream_context_set_params($ctx, array("notification" => "stream_notification_callback")); $fp = fopen($argv[1], "r", false, $ctx); if (is_resource($fp) && file_put_contents($argv[2], $fp)) { echo " Done! "; exit(0); } $err = error_get_last(); echo " Errrrrorr.. ", $err["message"], " "; exit(1); ?> Executing the example above with: php -n fetch.php http://no2.php.net/get/php-5-LATEST.tar.bz2/from/this/mirror php-latest.tar.bz2 will output something similar too: Connected... Mime-type: text/html; charset=utf-8 Being redirected to: http://no2.php.net/distributions/php-5.2.5.tar.bz2 Connected... Filesize: 7773024 Mime-type: application/octet-stream [========================================> ] 40% (3076/7590 kb) SEE ALSO
"Context parameters". PHP Documentation Group STREAM_NOTIFICATION_CALLBACK(3)
All times are GMT -4. The time now is 08:47 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy