- 1、本文档共40页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux(shell编程).ppt
第五章 shell编程 Linux shell 是一个命令解释器,用来接受并执行用户命令; shell环绕在Linux内核的外层,它是Linux操作系统和用户之间的接口; Linux下最常用的shell —— bash。bash是大多数Linux发行套件的缺省shell 。 在命令行输入命令时,每次输入一个命令,立即可得到系统的响应。但如果经常要依次执行一组命令,可利用shell程序来实现 Shell程序是放在一个文件中的一系列的Linux命令 执行shell程序时,由Linux逐条解释和执行程序中的每个命令 一、shell程序文件 shell程序文件是一个特殊的文本文件,其内容包含: 一系列可在shell提示符下执行的命令 shell提供的专用的命令和控制语句 shell程序文件的运行过程是将shell程序文件中的命令依次执行 二、shell程序文件的建立 shell程序文件可用任何一个文件编辑器(如vi)来建立 用vi编辑器建立shell程序文件shex1的步骤: ① 键入命令“vi shex1”,启动vi; ② 按命令“i”,进入vi的插入状态; ③ 输入程序文件内容; ④ 按Esc键,再键入“;”,切换到vi的命令状态; ⑤ 在“:”后键入命令“wq”,即保存文件内容后,退出vi。 例: 建立shell程序shex1,其内容为: clear cal 1 09 cal 2 09 cal 3 09 功能:先清屏,再显示09年的1、2、3月份的月历 三、shell程序运行的2种方法 运行shell程序有两种方法: 在shell环境下,将shell 程序文件作为子shell程序被调用执行 $ sh shell程序文件名 [参数1 参数2 ……] 例:$sh shex1 将shell程序文件视作命令来执行(因此,shell程序文件可以看作是将各种命令组合在一起而形成的新命令),此时必须赋予shell程序文件执行权限 $ shell程序文件名 [参数1 参数2 ……] 例: ① $ chmod a+x shex1 给程序文件赋予可执行属性 ② $ /home/user1/shex1 以完整的路径名键入程序名 带参数的运行命令 运行命令中有[参数]和无[参数]的2种情况,分别称为带参数的运行命令和不带参数的运行命令 在shell程序中可使用的形参规定为只能是:$0、$1、$2、……$9,共10个 当程序运行时,命令行中的参数1、参数2…依次赋值给$1、$2、…,通常称运行命令中所带的参数为实参 $0是一个特殊的形参,其值规定为当前运行的shell程序命令本身 例:建立shell程序shex3,其内容为: clear cal $1 09 cal $2 09 cal $3 09 执行时输入命令的形式为: $ sh shex3 1 2 3 则执行结果如p.143图5-3所示 第一个实参值是1,运行时代换给程序中的形参$1, 第二个实参值是2,运行时代换给程序中的形参$2, 第三个实参值是3,运行时代换给程序中的形参$3, 命令shift作用 由于形参个数有限(10个),当参数较多时,可通过命令shift来移动形参与实参的对应关系 执行一次 shift 后,$1、$2、……变为依次与参数2 参数3……对应 再执行一次shift后,$1、$2、……变为依次与参数3 参数4……对应,依此类推 例:建立shell程序shex2,其内容为: echo $0 $1 $2 shift echo $0 $1 $2 运行时情况如下: # /root/shex2 yesterday today tomorrow /root/shex2 yesterday today /root/shex2 today tomorrow # 可见: $0始终是当前运行的shell程序命令本身,即/root/shex3 四、shell变量 shell程序中允许使用3种类型的变量: 系统变量也称环境变量,它可将值传给shell运行的其他命令或shell程序使用,也就是说系统变量是全局变量 内部变量由系统提供,与环境变量不同,用户不能修改 用户变量由用户定义,是在当前shell中使用的局部变量,不能被在shell下运行的其他命令或其它shell程序使用 通过shel
文档评论(0)