第6章 B-Shell及编程
70页1、第6章 第1页,第6章 B-Shell及编程,第6章 第2页,主要内容,主要目的 编写shell脚本程序 交互方式下使用shell的流程控制,编写复合命令 主要内容 元字符,如:引号 shell的变量替换,命令替换,文件名生成 shell变量 流程控制 子程序,第6章 第3页,主要特点,主要特点 shell编程风格和C语言等算法语言的区别 shell是面向命令处理的语言,提供的流程控制结构通过对一些内部命令的解释实现 如同C语言设计思路一样,shell本身设计得非常精炼,但是它提供了灵活的机制 shell许多灵活的功能,通过shell替换实现 例如:流程控制所需的条件判断,四则运算,都由shell之外的命令完成,第6章 第4页,6.1 启动B-shell,第6章 第5页,启动交互式B-shell,启动方法 注册shell 键入sh命令进入了B-shell 自动执行的批处理文件 当sh作为注册shell被启动时,自动执行用户主目录下的.profile文件中命令,记作$HOME/.profile 类似umask之类的命令,应当写在.profile文件中,第6章 第6页,sh脚本的执行,编辑
2、文件lsdir(格式为文本文件) #!/bin/sh if $# = 0 then dir=. else dir=$1 fi find $dir -type d print (参见p68) 执行这一脚本(script)文件的方法: shlsdir sh lsdir chmod u+x lsdir; ./lsdir /bin 三种方法均启动程序/bin/sh,生成新进程,第6章 第7页,6.2 重定向与管道,第6章 第8页,输入重定向,filename 从文件filename中获取stdin 例如: sort telno.txt word 从shell获取数据直到再次遇到定界符word cat TOAST * Now : date * My Home Directory is $HOME TOAST 执行结果 * Now : Sat Jul 27 14:47:56 Beijing 2006 * My Home Directory is /usr/jiang 定界符所界定内容加工处理(等同双引号处理): 变量替换,命令替换 不执行文件名生成,第6章 第9页,输出重定向, filename
3、将stdout重定向到文件filename 2 filename 将文件句柄2重定向到文件filename 2 main() FILE *f = fdopen(5, w); if (f) fprintf(f, %s, msg); 原始I/O char *msg = Msg from file descripter 5n; main() write(5, msg, strlen(msg); ,第6章 第13页,输出重定向(例3:程序执行),编译和执行 cc msg.c -o msg ./msg ./msg 5 cat config.ap #!/bin/sh echo Input IP address of server computer: c read addr ed myap.cfg /dev/null TOAST /SERVER .d i SERVER $addr . w q TOAST,第6章 第21页,脚本程序中的行编辑(2),$ ./config.ap Input IP address of server computer: 202.112.67.213 $ cat myap.
4、cfg ID 3098 SERVER 202.112.67.213 TCP-PORT 3450 TIMEOUT 10 LOG-FILE /usr/adm/myap.log $,第6章 第22页,环境变量和局部变量,默认类型 所创建的shell变量,默认为局部变量 内部命令export 局部变量转换为环境变量,例如: export proto 局部变量和环境变量 shell启动的子进程继承环境变量,不继承局部变量 子进程对环境变量的修改,不影响父进程中同名变量 相关命令set/env 内部命令set列出当前所有变量及其值 包括环境变量和局部变量 外部命令/bin/env列出环境变量及其值,第6章 第23页,环境变量:shell/C程序,$chmod u+x stat.report; cat stat.report echo My Computer Connected to $proto Networks $ cc myap.c -o myap; cat myap.c main() char *envstr = getenv(”proto”); printf(”Protocol is %s
《第6章 B-Shell及编程》由会员我***分享,可在线阅读,更多相关《第6章 B-Shell及编程》请在金锄头文库上搜索。
2020届中考英语备考复习-作文课件
2019年中考英语复习-专题十五-交际运用(试卷部分)课件
2019届二轮复习-高中英语-情态动词和虚拟语气课件
2019届一轮复习苏教版物质的跨膜运输课件
2019年北师大版英语单元复习课件::Unit17Laughter课件北师大版选修6
2021届新中考物理冲刺备考复习-力-弹力-重力课件
2019届一轮复习人教版种群的特征和数量变化课件
2020年高考地理一轮复习--等高线地形图-课件
2019版高考英语一轮复习-Unit-1-Living-well课件
2019届一轮复习人教版孟德尔的遗传定律——基因分离定律课件
2019届高三第二轮复习专题二万有引力定律及其应用课件
2020最新部编版语文五年级上册23-鸟的天堂课件含课后练习
2020版高考(浙江)一轮复习:第7讲-细胞呼吸课件
2020年新教材高中英语UNIT4HISTORYANDTRADITIONSSectionⅢDiscoveringUsefulStructures课件必修第二册
2019届高考历史二轮复习阶段三专题十三罗斯福新政与当代资本主义的新变化课件2
2019版高考生物二轮复习-专题三-细胞的生命历程-考点9-细胞分裂过程图像和坐标曲线的识别课件
(通史版)2021版高考历史一轮复习第4部分高考讲座(三)2高考非选择题(12分开放探究题)规范答题讲练课件
2019届高三地理复习第五讲--《区际联系与区域协调发展》课件
2021人教部编版历史九年级上册习题课件:第18课美国的独立
2020学年新教材高中英语Unit1FoodforthoughtPeriodTwoStartingout课件
2024-04-18 25页
2024-04-18 29页
2024-04-18 38页
2024-04-18 16页
2024-04-09 21页
2024-04-09 26页
2024-04-09 28页
2024-04-09 19页
2024-04-09 26页
2024-04-09 23页