欢迎来到天天文库
浏览记录
ID:39970295
大小:346.81 KB
页数:23页
时间:2019-07-16
《linuxshell编程基础》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、LinuxShell编程基础授课:杨建新脚本编程传统的DOS批处理文件(*.bat)Windows脚本:vbscript(*.vbs)Javascript(*.js)UnixShell脚本指定脚本执行所使用的shell如果Script的第一个非空字符不是"#",则它会使用Bourne Shell。如果Script的第一个非空字符是"#"时,但不以"#!"开头时,则它会使用C Shell。如果Script以“#!”开头,则“#!”后面所写的就是所使用的Shell,而且要将整个路径名称指出来*建议使用第3种方法执行she
2、ll脚本程序的方法shellnamescriptname.scriptname在shell中使用变量Bourne Shell的变数类型只有字串变量,所以要使用数值运算则必须靠外部命令达到目的变量主要包括用户变量和系统变量两类为变量赋值:var=string取用变量时则在变量名称前加上一“$”号如果需要处理数值运算,可以使用expr命令expr用法expr一般用于整数值计算,常用于程序计数器,实例如下:expr10+10expr10*10expr30/10常用系统变量$HOME使用者自己的目录$PATH执行命令时所搜
3、寻的目录$TZ时区$MAILCHECK每隔多少秒检查是否有新的信件$PS1在命令列时的提示号$PS2当命令尚未打完时,Shell要求再输入时的提示号$MANPATH man指令的搜寻路径实例1#!/bin/shname=yangecho$nameecho$PATHPATH=$PATH:$HOME/binecho$PATHi=0i=`expr$i+3`echo$i使用特殊变量$0这个程序的执行名字$n这个程序的第n个参数值,n=1..9 $*这个程序的所有参数$#这个程序的参数个数$$这个程序的PID
4、$!执行上一个背景指令的PID $?执行上一个指令的返回值使用shift命令可以将参数后移实例2:testvar#!/bin/shecho Filename: $0 echo Arguments: $*echo Number ofargs.: $# echo 2ndarg.: $2 shift echo Number ofargs.: $# echo 2ndarg.: $2 set hello, world echo Arguments: $* echo 2ndarg.: $2执行shtestv
5、arthisismyshellscript获取用户输入使用read命令可以获取用户的输入并赋予变量read var1 var2.....实例3#!/bin/shechoPleaseinputyourname:readnameechoYournameis:$name条件测试测试文件状态-d:目录-s:文件非空-f:正规文件-w:可写-L:符号链接-u:文件有suid位-r:可读-x:可执行条件测试比较表达式-eq=字符串:-ne!=-gt>-n:非空串-lt<-z:空串-le<=-ge>=条件测试逻辑操作-a,&&
6、-o,
7、
8、!条件测试#[-f/etc/passwd-a-f/etc/inittab]#echo$?0#[-x/etc/passwd-o-x/bin/sh]#echo$?0流程控制:分支结构if...then...else…fiif...then...elif...then…ficasevarinstring1) command... ;;*)command...;;esac实例4#!/bin/shuntilechoListDirectory..........1echoChangeDirectory.
9、...2echoEditFile...........…….3echoRemoveFile.............4echoExitMenu...........…..5echoPleaseinputyourchoice:readchoicetest$choice=5docase$choicein1)ls;;2)echoEntertargetdirectoryreaddircd$dir;;3)echoEnterfilenamereadfilevi$file;;4)echoEnterfilenamereadfiler
10、m$file;;q
11、Q
12、5)echoGoodbyeexit;;*)echoillegalOptionesacdone流程控制:循环结构for循环:forvarin[list]docommands...donewhile循环:while[condition]docommands...done流程控制:循环结构until循环:until[c
此文档下载收益归作者所有