msgbartop
Tips, notes, HOWTOs
msgbarbottom

18 Dec 08 Remembering The Order Of Time/Date Fields For Cron

If you have a hard time remembering the order of the times/dates fields of a crontab record this header might help you.  I use this on all of my crontabs.  Each value, if tab seperated should line up under the correct heading.

#
#min    hr      day     mon     dayofwk         cmd
#
#-------------------------------------------------------------------------------

Tags: , , ,

18 Dec 08 Spawning Sub-Shells

Creating sub-shells in bash is simple: just put the commands to be run in the sub-shell inside parentheses. This causes bash to start the commands as a separate process. This group of commands essentially acts like a separate script file, their input/output can be collectively redirected and/or they can be executed in the background by following the closing parenthesis with an ampersand.

#!/bin/bash

server_cmd=server
pid_file=$(basename $server_cmd .sh).pid
log_file=$(basename $server_cmd .sh).log

(
    echo "Starting server"
    echo "Doing some init work"
    $server_cmd   # server becomes a daemon

    while true
    do
        if [[ -f $pid_file ]]; then
            sleep 15
        else
            break
        fi
    done
    mail -s "Server exitted" joe@example.com <<<CRAP

) 2>&1 >> $log_file &

echo "Server started"

quote and example via LinuxJournal

Tags: , , , ,

18 Dec 08 Remembering The Shell’s Special Variables

I can never seem to remember what all of these default parameter variables are.  I found this small shell script that prints them out when I forget.

#!/bin/sh -vx
#######################################################
# example_1.1 (c) R.H.Reepe 1996 March 28 Version 1.0 #
#######################################################
echo "Script name is            [$0]"
echo "First Parameter is                [$1]"
echo "Second Parameter is               [$2]"
echo "This Process ID is                [$$]"
echo "This Parameter Count is   [$#]"
echo "All Parameters            [$@]"
echo "The FLAGS are                     [$-]"

It produces output like this:

#!/bin/sh -vx
#######################################################
# example_1.1 (c) R.H.Reepe 1996 March 28 Version 1.0 #
#######################################################
echo "Script name is            [$0]"
+ echo 'Script name is            [/home/me/bin/shellhelp]'
Script name is            [/home/me/bin/shellhelp]
echo "First Parameter is                [$1]"
+ echo 'First Parameter is                []'
First Parameter is                []
echo "Second Parameter is               [$2]"
+ echo 'Second Parameter is               []'
Second Parameter is               []
echo "This Process ID is                [$$]"
+ echo 'This Process ID is                [15190]'
This Process ID is                [15190]
echo "This Parameter Count is   [$#]"
+ echo 'This Parameter Count is   [0]'
This Parameter Count is   [0]
echo "All Parameters            [$@]"
+ echo 'All Parameters            []'
All Parameters            []
echo "The FLAGS are                     [$-]"
+ echo 'The FLAGS are                     [hvxB]'
The FLAGS are                     [hvxB]

via Richard’s Unix Shell Scripting Universe

Tags: , , ,

SEO Powered by Platinum SEO from Techblissonline