Integer variables #!/bin/csh # sum of numbers from $argv[1] to $argv[2] set low = $argv[1] set high = $argv[2] set sum = 0 set current = $low while ( $current <= sum += current++ end echo The sum of the numbers from $low to $high is $sum.
Searching the File Tree: Find Command General form find filename…expression… find ~ -name \*.awk –print Searches the subtree rooted at home directory visiting each file and printing each file that ends in.awk
Some important primary expressions -atime n -name filename -exec cmd (end of command must be punctuated by a space then \;) -newer file -print (see pages of text for more details)
The different shells Name # of internal Size of Complexity of shellcommandsman pages sh3244, csh5277, bash50 127, zsh73 133, ksh43 141, tcsh56 199,
The if Statement – Bourne Shell if [ condition ] then commands else commands fi
Test condition operators – Bourne shell String = string String != string Value –eq value Value –ne value Value –gt value Value –ge value Value –lt value Value –le value
Referencing arguments – Bourne shell $0, $1, $2, … (same as csh) $* (list of all the variable) $# (number of variables)
Bourne shell script #!/bin/sh # lookup a person's phone number in the phone book if [ $# -ne 1 ] then echo "\nusage:$0 name\n" else grep "$1" phone_book fi
The while Statement – Bourne Shell while [ condition ] do commands done
Infinite Loop while true while :
The for Statement – Bourne Shell for variable in list do commands done
#!/bin/sh for index in do echo $index done
Clean - Bourne Shell
File Types 1.Ordinary file – contains text, programs, or other data 2.Directory – contains names and addresses of other files 3.Special file – represents an I/O device 4.Link – pointer to another file 5.Socket – used for interprocess communication