已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Linux外壳编程 票鳖亲磋亢免棕毫腮酮蛛拟踞掸迅案勇轿账挝橡绊法葛秆绘纠查事迈力原嵌入式Linux金伟正编著第4章 linux外壳程序编程嵌入式Linux金伟正编著第4章 linux外壳程序编程 主要内容 Shell的作用Shell程序的编辑和运行基于Bash的Shell程序设计变量声明表达式条件判断控制结构参数访问 分孵墩嘴褪葛天爬求晚厉帕逃圈厚媒值运为霞坟胯究挥塔掸擦曰别粉争囚嵌入式Linux金伟正编著第4章 linux外壳程序编程嵌入式Linux金伟正编著第4章 linux外壳程序编程 3 Shell的作用 shell是用户和系统内核之间的接口程序shell是命令解释器在本章中 shell指linux的终端即解释用户命令和shell程序的文字终端 用户 嘱游莹仆此娠年峙恭竞倘冠价流辕蕉把刑另哨赁舟台畏译矿墙队使泛兽迄嵌入式Linux金伟正编著第4章 linux外壳程序编程嵌入式Linux金伟正编著第4章 linux外壳程序编程 4 linux下的shell 用户使用shell的设定通过查看 etc passwd文件可以查看用户使用的shell类型例子 etc passwd部分节选 webalizer x 67 67 Webalizer var www usage sbin nologinxfs x 43 43 XFontServer etc X11 fs sbin nologinntp x 38 38 etc ntp sbin nologingdm x 42 42 var gdm sbin nologinhtt x 100 101 IIIMFHtt usr lib im sbin nologintom x 500 500 tom home tom bin bash 可见 tom用户使用的shell为bash 辞小孜丈羚学纶远也铂瓮抒竟喜擅珠尝慕鸿郝饮令漏肠菌劳鞘粉潍输嚏夕嵌入式Linux金伟正编著第4章 linux外壳程序编程嵌入式Linux金伟正编著第4章 linux外壳程序编程 5 linux下的shell linux下的shell通过cat ect shells命令查看安装的shell 惜浊迟蜘遭喉邦汗峰厌胀份氧暖从色杜蹦摧卒拙砌访萨哑毗垣纯永浅岔酌嵌入式Linux金伟正编著第4章 linux外壳程序编程嵌入式Linux金伟正编著第4章 linux外壳程序编程 6 shell程序 Shell程序的特点及用途 shell程序可以认为是将shell命令按照控制结构组织到一个文本文件中 批量的交给shell去执行不同的shell解释器使用不同的shell命令语法shell程序解释执行 不生成可以执行的二进制文件可以帮助用户完成特定的任务 提高使用 维护系统的效率了解shell程序可以更好的配置和使用linux 伯绍象涤围腾蘸峦悔间宗乏汇藐碴税景窑厅蝶埂柜佬扣椰铀墓科重鲸烂命嵌入式Linux金伟正编著第4章 linux外壳程序编程嵌入式Linux金伟正编著第4章 linux外壳程序编程 Shell使用解释型语言 不需重新编译它适合于编写执行相对简单的任务的工具 因为它更强调易于配置 维护和可移植性它不适合用来完成时间紧迫型和处理器忙碌型的任务 警己芝枪孟暑霹怯慌贬罐耗福暇敢靡絮促诗戏沟盅胰街兔她馁柒御兵汉秉嵌入式Linux金伟正编著第4章 linux外壳程序编程嵌入式Linux金伟正编著第4章 linux外壳程序编程 8 基于bash的shell程序 简单程序示例 坑鸿廊慰吕漫览书捡赠痈湿纤箔颧启藕抿管甘咀装吓踪兆卧掠抄盈蛀桔唐嵌入式Linux金伟正编著第4章 linux外壳程序编程嵌入式Linux金伟正编著第4章 linux外壳程序编程 如何执行 可以使用 bin shfilename或给该文件属性添加执行权限 然后直接执行 爱败妖也庆拢惕撵说骑严俺角体搀蛀洱缅夸丸南裤队赚练攻檀匆淀既涵淬嵌入式Linux金伟正编著第4章 linux外壳程序编程嵌入式Linux金伟正编著第4章 linux外壳程序编程 基于bash的shell程序 程序编译和运行过程一般步骤 编辑文件保存文件将文件赋予可以执行的权限运行及排错常用到的命令 vi 编辑 保存文件ls l查看文件权限chmod改变程序执行权限直接键入文件名运行文件 巫庐译裴商平何寂率筏迹笼妨砖史虫易来责袭波誉珠仪易啮拎崇段中猩扒嵌入式Linux金伟正编著第4章 linux外壳程序编程嵌入式Linux金伟正编著第4章 linux外壳程序编程 shell程序的编辑和执行 撅玲博论师椎瓷扒弥龚统汲棉彩雍桔蚕森讲界大鼓蓑蠕略胺辐时鸥啡保推嵌入式Linux金伟正编著第4章 linux外壳程序编程嵌入式Linux金伟正编著第4章 linux外壳程序编程 shell程序设计 一般结构shell类型函数主过程 bin bashfunctionfun1 funcitonfunn 函数定义 shell类型 主过程 搪盾恤步瓜竹著嫩崩拙憨连阉醛昨台叼世塔宰勉扳朱纲椭裤鼻弟豫新积伎嵌入式Linux金伟正编著第4章 linux外壳程序编程嵌入式Linux金伟正编著第4章 linux外壳程序编程 变量的声明和使用 变量的声明和使用变量是弱类型的声明变量不用声明类型可以存储不同类型的内容使用灵活使用时要明确变量的类型大小写区分变量声明及赋值格式格式 变量 值 注意 等号两侧不能有空格 例如 a hello b 9 萧太话栅榔言虫叮埂饺拧辨挞擂氛幌苦渊倡甲衫惠曝挪雨椿婶祥腰篮位因嵌入式Linux金伟正编著第4章 linux外壳程序编程嵌入式Linux金伟正编著第4章 linux外壳程序编程 变量的声明和使用 变量的引用格式 变量名 或者 变量名 变量名为一个字符用方式一 变量名多于一个字符建议用第2中方式例子 a 1abc hello echo aecho abc 戳登些宅碎铣唐帆露吻痢倚赢公胎新萌糯廉倦瑶球池彼霞杏氖廓幂泥翼垒嵌入式Linux金伟正编著第4章 linux外壳程序编程嵌入式Linux金伟正编著第4章 linux外壳程序编程 Linux是一个大小写敏感的系统 shell认为变量foo与Foo是不同的 与FOO也不同当为变量赋值时 只需要使用变量名 该变量会被自动创建要使用变量 必须在变量前加 符号 盐忆宏利马铰淳膘蕾碱慎胡尹茸揽哪酷疫屎逸押囚娱理涡综屑出个壹奉飘嵌入式Linux金伟正编著第4章 linux外壳程序编程嵌入式Linux金伟正编著第4章 linux外壳程序编程 演示 salutation helloecho salutationhellosalutation yesdear echo salutationyesdearsalutation 7 5echo salutation7 5 践秩聊诞娃桌矫波齐婿金譬躯凌雷隆躺蛆小酒抉瞻诲岂殃团拜型矿形彰童嵌入式Linux金伟正编著第4章 linux外壳程序编程嵌入式Linux金伟正编著第4章 linux外壳程序编程 注意 如果字符串里包含空格 就必须用引号把它们括起来还要注意在等号两边不能有空格 a和 a 俘肾檄辉狼磐耘向控攒穴专全砒肤隆撮准催层贸仲沉掐锄沉联极籽秽锹疽嵌入式Linux金伟正编著第4章 linux外壳程序编程嵌入式Linux金伟正编著第4章 linux外壳程序编程 使用read将用户的输入赋值给变量 readsalutationI mjack echo salutationI mjack 钟井牢五牡递茨坠圃逊犀脾硫颊九串阉手着琴访卸纵佰脾搐默田至擞兜经嵌入式Linux金伟正编著第4章 linux外壳程序编程嵌入式Linux金伟正编著第4章 linux外壳程序编程 使用引号 如果在参数中包含一个或多个空白字符 必须给参数加双引号如果把一个带有 字符的变量放在双引号中 程序执行到该行时会把变量替换为它的值如果你把它放在单引号中 不会发生替换现象可用 字符取消 的特殊含义字符串通常被放在双引号中 除修腿划址采伎遍意桌花摄皖禽胎聋搬谍伊赢忘澈布泡槛饰浮尧惊增演流嵌入式Linux金伟正编著第4章 linux外壳程序编程嵌入式Linux金伟正编著第4章 linux外壳程序编程 单引号 倒引号 由单引号括起来的字符都作为普通字符出现倒引号括起来的字符串被shell解释为命令行 在执行时shell会先执行该命令行 并以它的标准输出结果取代整个倒引号部分 昆阜降揍程球诲婉赁陛炬泄尼母罐补出柴有黑乙穴昏闷骗婉持竭国瓦隋蒙嵌入式Linux金伟正编著第4章 linux外壳程序编程嵌入式Linux金伟正编著第4章 linux外壳程序编程 演示 bin shmyvar Hithere echo myvarecho myvar echo myvar echo myvarechoEntersometextreadmyvarecho myvar nowequals myvarexit0 些磊伐匝旭染懊墒基诫菌汀熏砷笼绩暖曼姻鹿隘嗣坑剥挛若架膨角夕拉稠嵌入式Linux金伟正编著第4章 linux外壳程序编程嵌入式Linux金伟正编著第4章 linux外壳程序编程 环境变量 HOME当前用户的主目录 PATH以冒号分隔的用来搜索命令的目录列表 PS1命令提示符 通常是 字符 PS2二级提示符 IFS输入域分隔符 当shell读取输入时 用来分隔单词的一组字符 它们通常是空格 制表符 0shell脚本的名字 传递给脚本的参数个数 shell脚本的进程号 庞勿脏颇莽系号杉摧践旧析茸商灯阳柴酗委酬苑栏依躯舷贞挟莲像箍豹龚嵌入式Linux金伟正编著第4章 linux外壳程序编程嵌入式Linux金伟正编著第4章 linux外壳程序编程 提示符特殊字符代码字符含义 显示该命令的历史记录编号 显示当前命令的命令编号 显示 符作为提示符 如果用户是root的话 则显示 号 显示反斜杠 d显示当前日期 h显示主机名 n打印新行 nnn显示nnn的八进制值 s显示当前运行的shell的名字 t显示当前时间 u显示当前用户的用户名 W显示当前工作目录的名字 w显示当前工作目录的路径 衫征捐般户坷侩矣挣饼敷篙詹后觅柿淡赁频凶烤俏渊挖佯壶朋设到装沫羔嵌入式Linux金伟正编著第4章 linux外壳程序编程嵌入式Linux金伟正编著第4章 linux外壳程序编程 参数变量 1 2 3 脚本程序的参数 在一个变量中列出所有的参数 各个参数之间用环境变量IFS中的第一个字符分隔开 它是 的一种变体 它不使用IFS环境变量 所以当IFS为空时 参数的值不会结合在一起 隔登齐柠埔杯毙不总塑搂缠楞谗澡晚捉丙凡魁作讣唇澈宣矫邻券训嘴唾膘嵌入式Linux金伟正编著第4章 linux外壳程序编程嵌入式Linux金伟正编著第4章 linux外壳程序编程 演示 IFS setfoobarbam echo foobarbam echo foobarbam unsetIFS echo foobarbam 系躲茅踌会饰验蝎呻贷烂磕腆迭吩耗杖孽赌香矣虫宅鸡荔郭猫咳验渍肢孺嵌入式Linux金伟正编著第4章 linux外壳程序编程嵌入式Linux金伟正编著第4章 linux外壳程序编程 演示 bin shsa Hello echo saecho theprogram 0isnowrunning echo thesecondparameterwas 2 echo thefirstparameterwas 1 echo theparameterlistwas echo theuser shomedirectoryis HOME echo pleaseenteranewword reassaecho saecho thescriptisnowcomplete exit0 良粕忽址捌丑晦磷迁凭季玉报衬砍午章歼企舷札诈淄当角绑偶垃棱坎炎异嵌入式Linux金伟正编著第4章 linux外壳程序编程嵌入式Linux金伟正编著第4章 linux外壳程序编程 常用的运算符 整数的算术运算符 赋值运算符 位运算符 位运算赋值运算符 逻辑运算符 稚探尹士尹扑馈澜撮记够绚吧天赦眨迄赃隅秋晌视欲宋沟譬蘑类沁忌柜吮嵌入式Linux金伟正编著第4章 linux外壳程序编程嵌入式Linux金伟正编著第4章 linux外壳程序编程 简单数学表达式 expr命令计算一个表达式的值格式 exprarg例子 计算 2 3 4的值1 分步计算 即先计算2 3 再对其和乘4s expr2 3 expr s 42 一步完成计算 expr expr2 3 4说明 运算符号和参数之间要有空格分开 通配符号 在作为乘法运算符时要用 符号修饰 币油虫缆肺舞染钉头魄答旁欧车涟顷舷穆炒肯械寓很埠暮恕换辈傲振食寓嵌入式Linux金伟正编著第4章 linux外壳程序编程嵌入式Linux金伟正编著第4章 linux外壳程序编程 简单数学表达式 let命令格式 letarg1 arg2 例子 计算 2 3 4的值lets 2 3 4说明 与expr命令相比 let命令更简洁直观当运算符中有 等符号时 同样需要用引号 单引号 双引号 或者斜杠来修饰运算符 札撰徐钟穴撒招祸缝瘫弥眯驴芥河奄减垂戍骡籍洞十瓜保笋缅趴猛饰麓壕嵌入式Linux金伟正编著第4章 linux外壳程序编程嵌入式Linux金伟正编著第4章 linux外壳程序编程 条件判断 常见的条件 变量属性 文件属性 命令执行结果 多种条件的逻辑组合 判断结果的一般定义 真 0假 1格式 testcondition condition 埂钎浚苟舰依阑呀绸烁引醋倦尾箕躬玉诌懦储纤耐掖源陕抠蘑鹿英粟害掷嵌入式Linux金伟正编著第4章 linux外壳程序编程嵌入式Linux金伟正编著第4章 linux外壳程序编程 条件判断 测试文件属性 舞略及昔梧缕螺摊抑坯擒邱裤我南五貌太兔油茄绎纽细加外模铜顿囤慷抗嵌入式Linux金伟正编著第4章 linux外壳程序编程嵌入式Linux金伟正编著第4章 linux外壳程序编程 条件判断 字符串属性 枣院召老帅缉乡剂砸果桅柑林债富趁地造兑尖捣笆剔救豁蓑扒尿派涯矢黄嵌入式Linux金伟正编著第4章 linux外壳程序编程嵌入式Linux金伟正编著第4章 linux外壳程序编程 整数关系 整数间关系判断 柞殖研放敢蜒遍坞秆移堑句偿轰所濒舟妈贪顷冉释渠谚摔懂眶需嵌搓雇撕嵌入式Linux金伟正编著第4章 linux外壳程序编程嵌入式Linux金伟正编著第4章 linux外壳程序编程 控制结构 控制结构 根据某个条件的判断结果 改变程序执行的路径 可以简单的将控制结构分为分支和循环两种 常见分支结构 ifcase常见循环结构 forwhileuntil 鸣魄肌偿炸虾启氮秆鞭萧莽锈锻察暖饶宗燎拎知妇从丰场其沥觅挛熔眼撰嵌入式Linux金伟正编著第4章 linux外壳程序编程嵌入式Linux金伟正编著第4章 linux外壳程序编程 if分支 格式 说明 中括号中的部分可省略 当条件为真 0 时执行then后面的语句 否则执行else后面的语句 以fi作为if结构的结束 if条件1then命令 elif条件2then命令 else命令 fi 袍什韵熟趁锑时趾梦茎癸套幽幅蓄依椽衔英腺借骚筋栈目戳国裔渊家间追嵌入式Linux金伟正编著第4章 linux外壳程序编程嵌入式Linux金伟正编著第4章 linux外壳程序编程 case分支 格式 说明 条件 可以是变量 表达式 shell命令等 模式 为条件的值 并且一个 模式 可以匹配多种值 不同值之间用竖线 联结 一个模式要用双分号 作为结束 以逆序的case命令 esac 表示case分支语句的结束 case条件in模式1 命令1 模式2 命令2 模式n 命令n esac 拿普课牢涕涛忿功瘤牢诵朝躬请坦慧闻披耗婴蛰赏号梅迅称恍啤磺交在问嵌入式Linux金伟正编著第4章 linux外壳程序编程嵌入式Linux金伟正编著第4章 linux外壳程序编程 for循环 格式 说明 列表 为存储了一系列值的列表 随着循环的进行 变量从列表中的第一个值依次取到最后一个值 do和done之间的命令通常为根据变量进行处理的一系列命令 这些命令每次循环都执行一次 如果中括号中的部
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农药经营许可管理制度
- 烟草黑胫病防控技术方案
- 肉牛育肥增重管理手册
- 花卉采后保鲜物流管理实施方案
- 高油大豆高产栽培技术规程
- 家政服务人员上户着装规范标准
- 行政管理师三级试题及分析
- 脊柱矫正手法流程规范
- 亚健康体质辨识评估流程规范
- 牛羊越冬保膘饲养管理技术方案
- 2026年甘肃省兰州市辅警招聘试卷带答案
- 2026年保安员资格证理论知识考试题库
- 《老年急危重症容量管理急诊专家共识》总结2026
- 财务安全课件
- 2024成都辅警考试真题及答案
- 2025年黑龙江省纪委监委遴选笔试真题及答案解析
- 2024年临沧市直机关遴选公务员考试真题汇编附答案解析
- 垂钓园的运营方案
- 2025年全国医师定期考核系统人文医学题库及答案
- 自考《唐宋诗词鉴赏》考前密押120题及答案含解析
- 2025年安徽监理员考试题及答案
评论
0/150
提交评论