第3章 shell编程基础 3.1 shell脚本简介 shell——命令解释器,其主要功能是负责解释和执行命令行上键入的内容。 shell也提供了完善的编程能力。 流行的shell有多种,如Bash、Tcsh、Ksh等。 3.1.1 编写第一个shell脚本 [root@server root]#vi e1.sh 内容如下: #!/bin/sh echo “Hello,world!” 说明: shell脚本是按行解释的,每个脚本的第一行总是以#!/bin/sh开头 。 3.1.2 注释 在shell脚本中, 以“#”开头的行表示注释 shell将忽略对该行的处理,即不进行解释、显示和执行。 3.1.3执行shell脚本程序的一般方法 一般情况下,有两种执行shell脚本程序的方法。 第一种方法:直接执行 (1)给脚本e1.sh增加执行权 [root@server root]#chmod a+x e1.sh (2)键入./el.sh直接执行脚本 [root@server root]#./e1.sh Hello,world! 第二种执行shell脚本方法是:不更改属性,键入sh 脚本名即可。 示例如下: [root@server root]#sh e1.sh Hello,world! 3.2 shell变量与环境变量 3.2.1 定义shell变量 1.本地变量 一般地,shell变量不需要先定义,就可以直接为其赋值,即在赋值的同时完成变量的定义。 为变量赋值的格式如下: 变量名=变量值 请看定义变量a的示例: [root@server root]#a=1 需要注意的是:在等号的左右两边不能出现空格。 请看错误示例: [root@server ~]# b = 2 -bash: b: command not found 2.只读变量 通过以下格式来定义只读变量: readonly 变量名=变量值 或: 变量名=变量值 readonly 变量名 请看以下示例: [root@server ~]# readonly myvar=1 [root@server ~]# myvar=2 -bash: myvar: readonly variable 3.声明变量 在Linux中给变量赋值时,将该变量默认为是字符或字符串型,如果两个变量用“+”操作,则会被解释成字符串的连接操作。 请看如下示例: [root@server root]#a=123 [root@server root]#b=456 [root@server root]#c=$a+$b [root@server root]#echo $c 123+456 需要注意: 此处的“+”号不是操作符,而是被当成另外一个字符,所以实际上变量c是由3个字符串 “123”、“+”和“456”连接而成的。 在shell中如果需要进行数值运算,有3种常用的实现方法: 一种就是在使用变量之前先声明这个变量,另外两种将在3.2.2小节中介绍。 声明变量的格式是: declare 参数 变量名[=变量值] 表3-1 declare常用参数说明 -a 将变量声明为数组 -i 将变量声明为整型 -r 将变量声明为只读 请看如下声明命令的示例: [root@server root]#a=123 [root@server root]#b=456 [root@server root]#declare –i c [root@server root]#c=$a+$b [root@server root]#echo $c 579 3.2.2 访问shell变量 标准访问变量的格式如下: ${变量名} 简写形式 $变量名 请看如下示例: [root@server ~]# a=10 [root@server ~]# echo $a_ [root@server ~]# echo ${a}_ 10_ 1.用echo命令显示shell变量 表3-2 echo常用参数说明及示例表 2.显示所有的本地shell变量 使用set命令可以显示所有的本地定义的shell变量。 [root@server root]#set … HISTFILE=/root/.bash_history HISTFILESIZE=100 … UID=0 USER=root a=10 3.从键盘读入 格式如下 : read [参数] 变量名 示例: [root@server root]#read a 123 [root@server root]#echo $a 123 read后面可以跟多个变量名或不跟变量名。 示例: [root@server root]# read
您可能关注的文档
- 第3节欧姆定律的运用第1课时精选.ppt
- 第3课:凡尔赛——华盛顿体系——中考试题精选精选.doc
- 第3课君主专制政体的演进与强化精选.ppt
- 第3课时认识线段和量画线段精选.ppt
- 第3课享誉世界的手工业教学课件精选.ppt
- 第3天--数据库应用与JDBC.精选.ppt
- 第3章_5控制转移精选.ppt
- 第3章_动态规划-2016-all精选.ppt
- 第3章_建筑板材精选.ppt
- 第3章_数据类型精选.ppt
- 人教版九年级英语Unit 4曾害怕课件3a-4c.pdf
- 雅思口语考题回顾:朗阁海外考试研究中心2019年10月10日Part 1考题总结.pdf
- 2026届高三地理一轮复习课件小专题河流袭夺.pptx
- 【名师原创】复习专题5 三角函数 作者:合肥市第八中学 蒲荣飞名师工作室.docx
- 高中数学一轮复习 微专题2 抽象函数.docx
- 高中数学——复习专题4 空间向量与立体几何.docx
- 高中数学一轮复习 微专题3 空间几何体中的截面、轨迹问题.docx
- 高中数学一轮复习 微专题4 空间几何体的最值、范围问题.docx
- 导流洞施工质量通病防治手册.docx
- 江苏省徐州市第一中学、徐市第三中学等五校2026届高三上学期12月月考历史试题含答案.docx
最近下载
- 广西建筑工程施工图设计文件技术审查常见问题解答汇编-暖通专业2026.pdf VIP
- 15J401钢梯规范规范.docx VIP
- 检察院书记员面试真题及参考答案.docx VIP
- 南京师范大学《经济法》笔记-知识点.pdf VIP
- 2021年专升本c语言模拟题.pdf VIP
- 智能路灯控制器[KQ-LD1]说明书.pdf VIP
- 南京师范大学《工程力学》2018-2019学年期末试卷.pdf VIP
- 2025年中国益生菌补充剂市场调研报告_2025年12月.docx VIP
- 污水厂运营人员任务及岗位职责.pdf VIP
- 2026年1月浙江省高考(首考)英语试题(含答案详解)+听力音频+听力材料.docx
原创力文档

文档评论(0)