嵌入式Linux金伟正编著第部分linux外壳程序编程

上传人:012****78 文档编号:125728799 上传时间:2020-03-19 格式:PPT 页数:40 大小:164KB
返回 下载 相关 举报
嵌入式Linux金伟正编著第部分linux外壳程序编程_第1页
第1页 / 共40页
嵌入式Linux金伟正编著第部分linux外壳程序编程_第2页
第2页 / 共40页
嵌入式Linux金伟正编著第部分linux外壳程序编程_第3页
第3页 / 共40页
嵌入式Linux金伟正编著第部分linux外壳程序编程_第4页
第4页 / 共40页
嵌入式Linux金伟正编著第部分linux外壳程序编程_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《嵌入式Linux金伟正编著第部分linux外壳程序编程》由会员分享,可在线阅读,更多相关《嵌入式Linux金伟正编著第部分linux外壳程序编程(40页珍藏版)》请在金锄头文库上搜索。

1、 1 按一下以編輯母片標 題樣式 按一下以編輯母片副標題樣式 Linux外壳编程 主要内容 nShell的作用 nShell程序的编辑和运行 n基于Bash的Shell程序设计 变量声明 表达式 条件判断 控制结构 参数访问 Shell的作用 nshell是用户和系统内核之间的接口程序 nshell是命令解释器 n在本章中 shell指linux的终端 即解释用户命令和shell程序的文字终端 硬 件 shell 操作系统 图形界面 其它用户界面用户 3 linux下的shell n用户使用shell的设定 通过查看 etc passwd文件可以查看用户使用的 shell类型 例子 etc p

2、asswd部分节选 webalizer x 67 67 Webalizer var www usage sbin nologin xfs x 43 43 X Font Server etc X11 fs sbin nologin ntp x 38 38 etc ntp sbin nologin gdm x 42 42 var gdm sbin nologin htt x 100 101 IIIMF Htt usr lib im sbin nologin tom x 500 500 tom home tom bin bashtom x 500 500 tom home tom bin bash

3、可见 tom用户使用的shell为bash 4 linux下的shell nlinux下的shell 通过cat ect shells命令查看安装的shell shell及路径 查看shell的命令 5 shell程序 nShell程序的特点及用途 shell程序可以认为是将shell命令按照控制结构 组织到一个文本文件中 批量的交给shell去执 行 不同的shell解释器使用不同的shell命令语法 shell程序解释执行 不生成可以执行的二进制 文件 可以帮助用户完成特定的任务 提高使用 维 护系统的效率 了解shell程序可以更好的配置和使用linux 6 nShell使用解释型语言

4、不需重新编译 n它适合于编写执行相对简单的任务的工具 因为它更强调易于配置 维护和可移植 性 n它不适合用来完成时间紧迫型和处理器忙 碌型的任务 基于bash的shell程序 n简单程序示例 greeting sh echo Programme Ends 12 say hello 11 echo Programme Starts Here 10 9 echo Hello name 8 read name 7 echo Enter Your Name Please 6 5 function say hello 4 a Function 3 a Simple shell Script Exampl

5、e 2 bin bash 1 解释 输出提示 提示程序结束 调用函数 程序开始的第一条命令 输出提示信息 函数结束 输出 读入用户的输入到变量name echo命令输出字符串 函数开始 以 functin 开始 定义函数 同上 以 开始 其后为程序注释 以 开始 其后为使用的shell 8 如何执行 n可以使用 bin sh filename n或给该文件属性添加执行权限 然后直接 执行 基于bash的shell程序 n程序编译和运行过程 一般步骤 n编辑文件 n保存文件 n将文件赋予可以执行的权限 n运行及排错 常用到的命令 nvi 编辑 保存文件 nls l 查看文件权限 nchmod 改

6、变程序执行权限 n直接键入文件名运行文件 shell程序的编辑和执行 查看权限 查看权限 初始状态无执行 x 权限 增加可执行 x 的权限 查看权限 已经具备执行 x 权限 运行程序 程序运行过程输出 shell程序设计 n一般结构 shell类型 函数 主过程 bin bash function fun1 funciton funn 函数定义 shell类型 主过程 变量的声明和使用 n变量的声明和使用 变量是弱类型的 n声明变量不用声明类型 n可以存储不同类型的内容 n使用灵活 n使用时要明确变量的类型 n大小写区分 变量声明及赋值格式 n格式 变量 值 注意 等号两侧不能有空格 n例如

7、a hello b 9 变量的声明和使用 变量的引用 n格式 变量名 或者 变量名 变量名为一个字符用方式一 变量名多于一个字符 建议用第2中方式 n例子 a 1 abc hello echo a echo abc nLinux是一个大小写敏感的系统 shell认为 变量foo与Foo是不同的 与FOO也不同 n当为变量赋值时 只需要使用变量名 该 变量会被自动创建 n要使用变量 必须在变量前加 符号 演示 nsalutation hello necho salutation nhello nsalutation yes dear necho salutation nyes dear nsal

8、utation 7 5 necho salutation n7 5 n注意 n如果字符串里包含空格 就必须用引号把 它们括起来 n还要注意在等号两边不能有空格 n a和 a 使用read将用户的输入赋值给变量 nread salutation nI m jack necho salutation nI m jack 使用引号 n如果在参数中包含一个或多个空白字符 必须给 参数加双引号 n如果把一个带有 字符的变量放在双引号中 程序 执行到该行时会把变量替换为它的值 n如果你把它放在单引号中 不会发生替换现象 n可用 字符取消 的特殊含义 n字符串通常被放在双引号中 单引号 倒引号 n由单引号括

9、起来的字符都作为普通字符出 现 n倒引号括起来的字符串被shell解释为命令 行 在执行时shell会先执行该命令行 并 以它的标准输出结果取代整个倒引号部分 演示 bin sh myvar Hi there echo myvar echo myvar echo myvar echo myvar echo Enter some text read myvar echo myvar now equals myvar exit 0 环境变量 n HOME 当前用户的主目录 n PATH 以冒号分隔的用来搜索命令的目录列表 n PS1 命令提示符 通常是 字符 n PS2 二级提示符 n IFS 输

10、入域分隔符 当shell读取输入时 用来 分隔单词的一组字符 它们通常是空格 制表符 n 0 shell脚本的名字 n 传递给脚本的参数个数 n shell脚本的进程号 n提示符特殊字符代码 字符 含义 显示该命令的历史记录编号 显示当前命令的命令编号 显示 符作为提示符 如果用户是root的话 则显示 号 显示反斜杠 d 显示当前日期 h 显示主机名 n 打印新行 nnn 显示nnn的八进制值 s 显示当前运行的shell的名字 t 显示当前时间 u 显示当前用户的用户名 W 显示当前工作目录的名字 w 显示当前工作目录的路径 参数变量 n 1 2 3 脚本程序的参数 n 在一个变量中列出所

11、有的参数 各个参 数之间用环境变量IFS中的第一个字符分隔 开 n 它是 的一种变体 它不使用IFS环境 变量 所以当IFS为空时 参数的值不会结 合在一起 演示 IFS set foo bar bam echo foo bar bam echo foobarbam unset IFS echo foo bar bam 演示 n bin sh nsa Hello necho sa necho the program 0 is now running necho the second parameter was 2 necho the first parameter was 1 necho th

12、e parameter list was necho the user s home directory is HOME necho please enter a new word nreas sa necho sa necho the script is now complete nexit 0 常用的运算符 n整数的算术运算符 n赋值运算符 n位运算符 n位运算赋值运算符 n逻辑运算符 简单数学表达式 nexpr命令计算一个表达式的值 格式 expr arg 例子 计算 2 3 4的值 1 分步计算 即先计算2 3 再对其和乘4 s expr 2 3 expr s 4 2 一步完成计算 e

13、xpr expr 2 3 4 说明 n运算符号和参数之间要有空格分开 n通配符号 在作为乘法运算符时要用 符 号修饰 简单数学表达式 nlet命令 格式 let arg1 arg2 例子 计算 2 3 4的值 let s 2 3 4 说明 n与expr命令相比 let命令更简洁直观 n当运算符中有 等符号时 同样需要用引 号 单引号 双引号 或者斜杠来修饰运算符 条件判断 n常见的条件 变量属性 文件属性 命令执行结果 多种条件的逻辑组合 n判断结果的一般定义 真 0 假 1 n格式 test condition condition 条件判断 n测试文件属性 常用的文件属性条件判断 f fn如

14、果fn存在且fn为普通文件则返回真 否则返回假 b fn如果fn存在且fn为块设备则 返回真 否则返回假 e fn如果fn存在则返回真 否则返回假 d fn如果fn 存在且fn为目录则返回真 否则返回假 r fn如果fn存在且fn可读则返回真 否则返回假 w fn如果fn存在且fn可写则返回真 否则返回假 x fn如果fn存在且fn可执行则返回真 否则返回假 O fn如果fn存在且被当前用户拥有则返回真 否则返回假 L fn如果fn存在且fn为符号链接则返回真 否则返回假 条件判断 n字符串属性 常用字符串属性条件判断 string 1 string 2如果string 1和string 2两

15、个字符串相等则返 回真 否则返回假 string 1 string 2如果string 1和string 2两个字符串不相等则 返回真 否则返回假 z string如果字符串string的长度为0则返回真 否 则返回假 n string如果字符串string长度不为0则返回真 否 则返回假 string同 n string 如果字符串string长度不为0返 回真 否则返回假 整数关系 n整数间关系判断 常用的整数关系条件判断 mum 1 eq num 2如果num 1和num 2相等则返回真 否则返回 假 mum 1 ne num 2如果num 1不等于num 2则返回真 否则返回 假 mu

16、m 1 gt num 2如果num 1大于num 2则返回真 否则返回假 mum 1 lt num 2如果num 1小于num 2则返回真 否则返回假 mum 1 le num 2如果num 1小于等于num 2则返回真 否则返 回假 mum 1 ge num 2如果num 1大于等于num 2则返回真 否则返 回假 控制结构 n控制结构 根据某个条件的判断结果 改变程序执行的路 径 可以简单的将控制结构分为分支和循环两种 n常见分支结构 if case n常见循环结构 for while until if分支 n格式 n说明 中括号中的部分可省略 当条件为真 0 时执 行then后面的语句 否 则执行else后面的语句 以fi作为if结构的结束 if 条件1 then 命令 elif 条件2 then 命令 else 命令 fi case分支 n格式 n说明 条件 可以是变量 表 达式 shell命令等 模式 为条件的值 并 且一个 模式 可以匹配 多种值 不同值之间用 竖线 联结 一个模式要用双分号 作为结束 以逆序的case命令 esac 表示case分支 语句的结束 case

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号