Linux Shell Programming 1
My notes on reading Linux Shell Scripting Tutorial
Print a variable
$ echo $HOME
Define User defined variable
$ n=10
$ vech=
$ vech=""
Shell Arithmetic
$ expr 1 + 3
$ echo `expr 6 \* 3`
Quotes:
$ echo "$HOME"
/home/mintk
$ echo '$HOME'
$HOME
$ echo "Today is `date`"
Today is Tue Oct 12 13:50:47 CST 2010
$ echo 'Today is `date`'
Today is `date`
Exit Status
$ rm unknown1file
rm: cannot remove `unkown1file': No such file or directory
$ echo $?
1
$ ls
$ echo $?
0
The read Statement
$ vim sayH
echo "Your name please:"
read name
echo "Hello $name, Lets be friend!"
$ chmod 755 sayH
$ ./sayH
Your name please:mitnk
Hello mitnk, Lets be friend!
Wild cards
? * [abc] [a-c] [!a-c] [^a-c]
[[:digit:]] alnum, alpha, ascii, blank, cntrl, digit, graph, lower, print, punct, space, upper, word, xdigit
More command on one command line
$date;who
Command arguments
$ vi demo
#!/bin/sh
#
# Script that demos, command line args
#
echo "Total number of command line argument are $#"
echo "$0 is script name"
echo "$1 is first argument"
echo "$2 is second argument"
echo "All of them are :- $* or $@"
Redirection of Standard output / input
$ ls > myfile
$ date >> myfile
$ cat < myfile
$ cat > myfile
ab
c
(Ctrl + C to exit)
Pipes
ls | wc -l
Process defined as:
"A process is program (command given by user) to perform specific Job. In Linux when you start process, it gives a number to process (called PID or process-id), PID starts from 0 to 65535."
Linux Command Related with Process
ps - To see currently running process
kill {PID} - To stop process by PID
killall {Process-name} - To stop processes by name
ps -ag - To get information about all running progress linux-command & - Run background
ps ax | grep process-U-want-to-see pstree