您的位置:首页 > 运维架构 > Shell

鸟哥的Linux私房菜基础学习篇(第三版)之第十三章:shell scripts

2013-04-11 16:51 148 查看
第十三章shell scripts

什么是 Shell Script

1.1 干嘛学习 shell script

1.2 第一支script的撰写与执行

1.3 规范(说明,历史,特殊指令的绝对路径,变量先声明与设定,exit返回值)
简单的shell script练习

2.1 简单范例(常用的模板)

对谈式,等用户输入

随日期变化,利用date,${date --date='1 days ago' +%Y%m%d}

数值运算,只支持整型,var=$((运算内容))

2.2 script执行方式差异(source,sh,script,./script)

用source是在本主程序用运行,其他事开启一个子程序运行
善用判断式

3.1 用test指令测试功能

1 判断某个文件或目录存在与否,还有文件类型 test -e /ckt && echo "exit" || echo "Not exist"

2 判断是否具有权限,test -r filename

3 两个档案之间的比较 test file1 -nt file2

4 两个整数之间的判断 test n1 -eq n2

5 判断单个字符串是否为空,或者两个字符串是否相等

6 多重条件判定,与或非: -a -o !

3.2 利用判断符号[],注意要很多空格:[ "$HOME" == "$SMAIL" ]

3.3 shell script的默认变数($0,$1)

$0: 文档名

$1: 第一个参数

$#: 参数个数

$@: ="$1" "$2" "$3" "$..." "$n"

$*: ="$1 $1 $3 $... $n"

shift: 造成参数变量号码偏移
条件判断式

4.1 if [条件判断式];then

elif [条件判断式];then

else

fi

4.2 case $变量名称 in

"第一个变量内容")

程序段

;;

"第N个变量内容")

程序段

;;

程序段

exit 1

;;

esac

4.3 利用function功能

function fname(){

程序段

}

同样有$0,$1,$2...
循环loop

5.1 while do done,until do done

while [condition]

do

程序段

done

util [condition]

do

程序段

done

5.2 for var in con1 con2 con3

do

程序段

done

for初始值;限制值;执行步阶)

do

程序段

done
debug

sh [-nvx] scripts.sh

-n :不执行,就查询语法

-v :先显示再执行

-x : 还是显示,带+号
所涉及的命令

$(seq 1 100)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: