版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Linux Shell编程基础,授课:杨建新,脚本编程,传统的DOS批处理文件(*.bat) Windows脚本: vbscript(*.vbs) Javascript(*.js) Unix Shell脚本,指定脚本执行所使用的shell,如果Script的第一个非空字符不是#,则它会使用BourneShell。 如果Script的第一个非空字符是#时,但不以#!开头时,则它会使用CShell。 如果Script以“#!”开头,则“#!”后面所写的就是所使用的Shell,而且要将整个路径名称指出来 *建议使用第3种方法,执行shell脚本程序的方法,shellname scriptname .
2、scriptname,在shell中使用变量,BourneShell的变数类型只有字串变量,所以要使用数值运算则必须靠外部命令达到目的 变量主要包括用户变量和系统变量两类 为变量赋值: var=string 取用变量时则在变量名称前加上一“$”号 如果需要处理数值运算,可以使用expr命令,expr用法,expr一般用于整数值计算,常用于程序计数器,实例如下: expr 10 + 10 expr 10 * 10 expr 30 / 10,常用系统变量,$HOME使用者自己的目录 $PATH执行命令时所搜寻的目录 $TZ时区 $MAILCHECK每隔多少秒检查是否有新的信件 $PS1在命令列时的
3、提示号 $PS2当命令尚未打完时,Shell要求再输入时的提示号 $MANPATHman指令的搜寻路径,实例1,#!/bin/sh name=yangecho $nameecho $PATHPATH=$PATH:$HOME/binecho $PATHi=0i=expr $i + 3echo $i,使用特殊变量,$0这个程序的执行名字 $n这个程序的第n个参数值,n=1.9 $*这个程序的所有参数 $#这个程序的参数个数 $这个程序的PID $!执行上一个背景指令的PID $?执行上一个指令的返回值 使用shift命令可以将参数后移,实例2:testvar,#!/bin/sh echoFilen
4、ame:$0 echoArguments:$*echoNumberofargs.:$#echo2ndarg.:$2shiftechoNumberofargs.:$# echo2ndarg.:$2 sethello,world echoArguments:$* echo2ndarg.:$2 执行sh testvar this is my shell script,获取用户输入,使用read命令可以获取用户的输入并赋予变量 readvar1var2.,实例3,#!/bin/shecho Please input your name:read nameecho Your name is:$name,
5、条件测试,测试文件状态 -d:目录 -s:文件非空 -f:正规文件 -w:可写 -L:符号链接 -u:文件有suid位 -r:可读 -x:可执行,条件测试,比较表达式 -eq=字符串: -ne!= -gt -n:非空串 -lt=,条件测试,逻辑操作 -a, ; *) command. ; esac,实例4,#!/bin/sh until echo List Directory.1 echo Change Directory.2 echo Edit File.3 echo Remove File.4 echo Exit Menu.5 echo Please input your choice:
6、read choice test $choice = 5 do case $choice in 1) ls;,2) echo Enter target directory read dir cd $dir ; 3) echo Enter file name read file vi $file ; 4) echo Enter file name read file rm $file ; q|Q|5) echo Goodbye exit ; *) echo illegal Option esac done,流程控制:循环结构,for循环: for var in listdo commands.
7、done while循环: while conditiondo commands. done,流程控制:循环结构,until循环:until condition-is-truedo commands. done 循环控制:break, continue break:跳出循环或case语句 continue:跳过本次循环,实例5,#!/bin/sh number=1 while $number -le 10 do useradd user$number echo Add a user whose name is:user$number number=expr $number + 1 done,建立10个用户帐户,实例6,#!/bin/sh counterf=0 counterd=0 for files in * do if -f $files ;then counterf=expr $counterf + 1 elif -d $files ;then counterd=expr $counterd + 1 fi done ech
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 临床研发部年度工作计划
- 旅游信息化项目经理岗位面试常见问题
- 北京大兴国际机场国航基地项目水土保持方案报告表
- 基于用户行为的移动APP用户体验研究
- 旅游公司导游员岗位面试全记录
- 护理服务沟通技巧解析与实践
- 护理分级标准更新内容
- 护理课件:护理实践中的患者隐私保护
- 2026年江西制造职业技术学院单独招生《职业技能测试》模拟试题及参考答案(计算机应用技术、计算机网络技术专业三校生)
- 云课堂就业指导:随时随地学习
- 新能源汽车构造6.【课件】2-3 动力电池总成拆装
- 2026年重点“小巨人”企业“三新一强”推进计划申报材料
- 2026年甘肃兰州外语职业学院第一季度招聘笔试模拟试题及答案解析
- 2025年江苏安全技术职业学院单招综合素质考试试题及答案解析
- 2026新疆乌鲁木齐市乌鲁木齐县南郊供排水有限公司及子公司招聘14人笔试模拟试题及答案解析
- 《名师工作室建设实践指南(2025版)》
- 2026广东江门市新会银海集团有限公司招聘2人备考题库及答案详解(名师系列)
- 2025年农商行考试题及答案
- 2026年春苏教版新教材小学科学二年级下册教学计划及进度表
- 流程管理优化工具及方法
- 医疗设备采购与招标流程
评论
0/150
提交评论