How helpful was this page?

SHELL SCRIPTS TIPS-N-TRICKS

The syntax and examples are written for use with bash (Bourne Again Shell) other shells may vary.

All script files must declare a shell on the first line.

All the examples provided herein assume the first line is the following:

    #!/bin/bash
Also, you must have execute permissions on the script file you create. You can give yourself execute permissions by typing the following:
    chmod u+x filename

Special Characters
# comments
* wildcard
? single character wildcard
redirect input - stdin
redirect output - stdout

string comparisons
= equal
!= not equal
< is less than
> is greater than
-n is not null
-z is null

numeric comparisons
-eq equal
-ge greater than or equal to
-gt greater than
-le less than or equal to
-lt less than
-ne not equal

file operators
-d file file exists and is directory
-e file file exists
-f file file exists and is regular
-s file file exists and is not empty
file permission tests
-r file you have read permission
-w file you have write permission
-x file you have execute permission
-O file you have ownership
-G file you have group ownership
file comparisons
file1 -nt file2 file1 newer than file2
file1 -ot file2 file1 older than file2

if then else statement
operators
-a and
-o or
Example:
    #!/bin/bash
    # if...then...else example
    # written by Elliott Technologies

    NUM=0
    if [ $NUM -eq 0 ]; then
      echo true
    else
      echo false
    fi

while and case example:
#!/bin/bash
# written by Elliott Technologies to demonstrate
# a shell script that implements while and case
# statements

echo example of case
val=1
while [ $val = 1 ]
do
    echo -n "continue:"
    read userval
    case $userval in
      Yes|[Yy] )
        # the above matches on Yes, Y, or y
        echo -n "you answered yes " ;;
      No|[Nn] )
        # the above matches on No, N, or n
        echo Stopping since you answered no
        val=0 ;;
      * )
        echo -n "please answer (Yes/No) " ;;
    esac
done


For more information, please send e-mail to:
Info@Elliott-Technologies.com