欢迎来到天天文库
浏览记录
ID:48058716
大小:508.00 KB
页数:56页
时间:2020-01-13
《unix操作系统-Broune shell.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、UNIX-shell编程Shell概述BourneshellKornshellCshellShell概述shell特点把已有命令进行适当组合,构成新的命令;而组合方式很简单。可以进行交互式处理,用户和UNIX系统之间通过shell进行交互式会话,实现通信。灵活地利用位量参数传递参数值。结构化的程序模块.提供了顺序流程控制、条件控制、循环控制等。提供通配符、输入/输出重定向、管道线等机制,方便了模式匹配、I/O处理和数据传输。便于用户开发新的命令,利用shell过程可把用户编写的可执行程序与UNIX命令结合在一起,当作新的命令使用。提供后台处理方式,不用
2、打断前台工作。版本Bourneshell(sh)AT&TBell实验室SlephenBourneCshell(csh)BerkeleyBillJoyKornshell(ksh)AT&TBell实验室DavidKornShell处理命令行和执行命令行获得第一个字并保存为命令名程序存在吗?NEWLINE执行程序显示“notfound”发出提示获得更多命令行Shell程序示例直接命令输入ls–l/usr/meng执行shell程序文件$catlistsubdir#ifnoarguments,thenlistingthecurrentdirectory#oth
3、erwise,listingeachsubdirectoryiftest$#=0thenlselseforIdols–l$I
4、grep‘^d’donefiShell脚本的建立和执行Shell脚本使用vi编辑shell脚本执行shell脚本的方式输入定向到shell$sh<脚本名以脚本名作为shell参数$/bin/sh脚本名[参数]$.脚本名[参数]将shell脚本改为可执行权限$chmoda+xex2$ex2强制当前shell执行Bourneshell脚本#!/bin/shBourneShell程序设计Shell变量Shell中的特殊字符参数置换变量
5、控制结构Shell特殊命令变量用户定义的变量变量名=字符串变量名的命名规则“=”两边不能有空格使用变量方法引用变量数值$变量名,或${变量名}变量赋值$dir=/usr/meng/ff$echo$dir/usr/meng/ff$echodirdir$ls${dir}qc/m1.c$s=ing$echoread$sandwrite$s$dir=/usr/meng/ff$echo$dir$Dir/usr/meng/ff$name=“zhanglisi”$A=$BB=$CC=good输入输出命令read命令从标准输入中读取数据,然后赋给制定变量read变量1
6、[变量2……]read变量<&n$readn1FirstSecondThird(用户输入)$echo$n1FirstSecondThird$readn1n2n3onetwothreefourfive(用户输入)$echo$n3threefourfive$readn1n2First(用户输入)$echo$n2$echo命令将其后的参数在标准输入输出上输出,个参数间以空格隔开,以换行符终止b光标退一个字符位置c光标出现在参数的最后位置f换页r回车t制表符v垂直制表符\打印反斜线$echo“Enterthefilename->c”位置参数根据
7、在命令行出现的位置次序来确定参数$0,$1,$2,…,$9。其中,$0对于命令名或shell脚本名setm1.cm2.c,将$1赋值为m1.c,$2赋值为m2.c$catm1.cmain(){printf(“begin”);}$catm2.cmain(){printf(“OK!”);printf(“End”);}$catex5#shellscripttocombinefilesandcountlinescat$1$2$3$4$5$6$7$8$9
8、wc–l$ex5m1.cm2.c7$catm1.cmain(){printf(“begin”
9、);}$catm2.cmain(){printf(“OK!”);printf(“End”);}$catex6#shellscripttocombinefilesandcountlinessetm1.cm2.ccat$1$2$3
10、wc–l$ex610移动位置参数shitn将位置参数左移n位(不包含$0)$catex7echo$0$1$2$3$4$5$6$7$8$9shiftecho$0$1$2$3$4$5$6$7$8$9shit4echo$0$1$2$3$4$5$6$7$8$9$ex7ABCDEFGHIJKex7ABCDEFGHIex7BCDEF
11、GHIJex7FGHIJK预先定义的特殊变量$#参数个数ex5m1.cm2.c$#=2$?返回
此文档下载收益归作者所有