- 1、本文档共40页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 linux外壳程序编程
Linux外壳编程 主要内容 Shell的作用 Shell程序的编辑和运行 基于Bash的Shell程序设计 变量声明 表达式 条件判断 控制结构 参数访问 Shell的作用 shell是用户和系统内核之间的接口程序 shell是命令解释器 在本章中,shell指linux的终端即解释用户命令和shell程序的文字终端 linux下的shell 用户使用shell的设定 通过查看/etc/passwd文件可以查看用户使用的shell类型 例子: /etc/passwd部分节选 linux下的shell linux下的shell 通过cat /ect/shells命令查看安装的shell shell程序 Shell程序的特点及用途: shell程序可以认为是将shell命令按照控制结构组织到一个文本文件中,批量的交给shell去执行 不同的shell解释器使用不同的shell命令语法 shell程序解释执行,不生成可以执行的二进制文件 可以帮助用户完成特定的任务,提高使用、维护系统的效率 了解shell程序可以更好的配置和使用linux Shell使用解释型语言,不需重新编译 它适合于编写执行相对简单的任务的工具,因为它更强调易于配置、维护和可移植性 它不适合用来完成时间紧迫型和处理器忙碌型的任务 基于bash的shell程序 简单程序示例 如何执行 可以使用 /bin/sh filename 或给该文件属性添加执行权限,然后直接执行 基于bash的shell程序 程序编译和运行过程 一般步骤: 编辑文件 保存文件 将文件赋予可以执行的权限 运行及排错 常用到的命令: vi,编辑、保存文件 ls -l 查看文件权限 chmod 改变程序执行权限 直接键入文件名运行文件 shell程序的编辑和执行 shell程序设计 一般结构 shell类型 函数 主过程 变量的声明和使用 变量的声明和使用 变量是弱类型的 声明变量不用声明类型 可以存储不同类型的内容 使用灵活 使用时要明确变量的类型 大小写区分 变量声明及赋值格式 格式:变量=值 (注意:等号两侧不能有空格) 例如:a=”hello ”b=9 变量的声明和使用 变量的引用 格式:$变量名,或者${变量名}变量名为一个字符用方式一,变量名多于一个字符建议用第2中方式 例子:a=1abc=helloecho $aecho ${abc} Linux是一个大小写敏感的系统,shell认为变量foo与Foo是不同的,与FOO也不同 当为变量赋值时,只需要使用变量名,该变量会被自动创建 要使用变量,必须在变量前加$符号 演示 salutation=hello echo $salutation hello salutation=“yes dear” echo $salutation yes dear salutation=7+5 echo $salutation 7+5 注意: 如果字符串里包含空格,就必须用引号把它们括起来 还要注意在等号两边不能有空格 $a和${a} 使用read将用户的输入赋值给变量 read salutation I’m jack. echo $salutation I’m jack 使用引号 如果在参数中包含一个或多个空白字符,必须给参数加双引号 如果把一个带有$字符的变量放在双引号中,程序执行到该行时会把变量替换为它的值 如果你把它放在单引号中,不会发生替换现象 可用\字符取消$的特殊含义 字符串通常被放在双引号中 单引号、倒引号 由单引号括起来的字符都作为普通字符出现 倒引号括起来的字符串被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 环境变量 $HOME 当前用户的主目录 $PATH 以冒号分隔的用来有哪些信誉好的足球投注网站命令的目录列表 $PS1 命令提示符,通常是$字符 $PS2 二级提示符 $IFS 输入域分隔符,当shell读取输入时,用来分隔单词的一组字符,它们通常是空格、制表符 $0 shell脚本的名字 $# 传递给脚本的参数个数 $$ shell脚本的进程号 提示符特殊字符代码字符 含义\! 显示该命令的历史记录编号。\# 显示当前命令的命令编号。\$ 显示$符作为提示符,如果用户是root的话,则显示#号。
文档评论(0)