对shell的总结:
脚本中出现的$符号的含义:
$1,$2...$9表示位置参数(即运行脚本时后面带的参数)
$0表示执行的脚本的名称
$$表示脚本自身的ID
$?表示上一个命令或者函数返回的状态(linux中命令退出的状态0表示成功,非0表示命令出错)
$_表示之前执行的命令的最后一个参数
$!在后台运行的最后工作的PID
$#命令行或者位置参数的个数
$*所有位置参数被作为一个word
$@与$*同意,但是每个参数都是一个独立的""引用字串,这就意味着参数被完整地传递,并没有被解释和扩展.这也意味着,每个参数列表中的每个参数都被当成一个独立的单词.注意:"$@"必须被""引用。
控制结构:
if then else语句:
i f、t h e n、e l s e语句提供条件测试,这些测试返回值或者为真( 0),或者为假( 1):
---------------------------------------------------------------
简单if :
if 条件;then
命令
fi
----------------------------------------------------------------
if 条件;then
命令
else
命令
fi
---------------------------------------------------------------
多重判断:
if 条件1
then
命令1
elif 条件2
then
命令2
。。。 。。。
else
命令n
fi
------------------------------------------------------------
case 结构:
case $arg in
pattern | sample) # arg in pattern or sample
;;
pattern1) # arg in pattern1
;;
*) #default
;;
esac
说明:pattern1 是正则表达式,可以用下面字符:
* 任意字串
? 任意字元
[abc] a, b, 或c三字元其中之一
[a-n] 从a到n的任一字元
| 多重选择
------------------------------------------------------------
for 循环
for 循环每次处理依次列表内信息,直至循环耗尽
---------------------------------------------------------------
for i in `cat /etc/passwd`
do
命令
done
---------------------------------------------------------------
for i in 1 2 4 5 6 3
do
命令
done
---------------------------------------------------------------
count=值、字符串或者`命令`
for i in $count
do
命令
done
----------------------------------------------------------------
Until 循环
Until 循环此循环语句不常使用, u n t i l循环直至条件为真。条件部分在循环末尾部分。
----------------------------------------------------------------
until 条件
命令1
..........
done
-----------------------------------------------------------------
while 循环
While 循环w h i l e循环当条件为真时,循环执行,条件部分在循环头。
------------------------------------------------------------------
while 命令或者语句
d o
命令1
命令2
. . .
d o n e
-----------------------------------------------------------------
select 结构
select 变量name in seq变量
do
action
done
-----------------------------------------------------------------
shell 函数
function 函数名()
{
命令。。。。。
}
函数名
-----------------------------------------------------------------
****************unix shell基本框架******************