- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章 Bshell编程
第六章 Bshell编程
第一节 Bshell和Bourne again shell
首先要向读者说清楚的是,将Bourne again shell简称为bash。
本节之所以做两种编程而不分开,主要是因为Bshell和bash在许多方面有其惊人的相似之处,甚至有时可以直接置换,同时还希望大家在编写脚本之前,能够养成一个良好的文件命名习惯,如Bshell文件的后缀尽量使用*.sh。而Cshell的后缀则应尽量使用.*.csh来命名。为了便于大家的理解,这里列出了Bshell或bash的一般性结构并作解释。(这里是以Bash为例)
#!/bin/bash
#program
echo please enter your name
read name
if
name=“aben”
then
echo “$name, hello ”
fi
现在对上面的清单作出解释:
(1)#!/bin/bash
这是在提醒计算机运行bin/bash。计算机将启动shell程序文件bin/bash这里是以bash为例,除了bash还可以是sh,csh,或ksh等但前面的#!/bin是不变的。如果系统没有发现#!标志,系统将以默认shell来处理文件,不同的unix系统对应不同的默认shell如:linux默认为shell,但不同的unix系统的默认shell是不尽相同的,你可以用
echo $SHELL
来查看你当前的shell环境。(注意大小写)
(2)#program
这是一个解释语句,其中“#”代表后面是注释,shell于进行运算或理解(注意,这里的#与前面的#!是不同的#!是提醒计算机执行的shell,通常它是被执行的,而#并不被执行它类似与c语言中的注释符的作用,事实上他的确也是注释符)。
(3)if……
then……
fi
这是一个条件语句也可以称作流控制语句中的条件流控制语句(流控制是指程序执行流程的控制)。它类似与c语言中的条件控制语句。格式也相似除了结尾有所区别外。这里就不在多讲了。下面的章节会有介绍的。
(4)name=“aben”
这是一个赋值语句,它将字符串aben赋给变量name,这也与C语言中的赋值方式很相似。
(5)$ name
这表示取name的变量值,其中$符号是用来取变量值的,如:
name=“aben”
echo $ name
表示取name的值aben,则输出aben,但如果写成
name=“aben”
echo name
则输出name而不是aben。这说明$的作用。这里的“echo”是一条输出语句,本例中aben,hello (这里还应提到的是除了echo为输出,还有输入语句,如本例中的read name代表读取输入的名字。)
解释至此大家应该对B-shell和Bash的程序体有一个大致了解,但这时程序还是无法执行的,因为你所编写的脚本还需要被赋予执行权限,而给一个文件赋予执行权限可以用chmod命令来完成。如给一个名为read.sh文件赋予执行权限可以使用如下命令
chmod +u read.sh
这时该文件就具有了执行权限,可以在计算机的shell环境中执行了。(以上脚本代码可以在vi或任何一种你喜欢的文本编辑器中编辑。编辑完成后你只需要为编辑好的文件赋予可执行权限就可以了。
第二节 一个简单实例
为了便于大家理解,这里以全过程实例来说明。
首先用vi创建一个名为aben.sh的文件,在shell中输入如下命令,
vi aben.sh
进入vi编辑器状态,并输入上例中的语句,
#!/bin/bash
#program
echo please enter your name
read NAME
if
NAME=”aben”
then
echo “$NAME success”
fi
保存并退出vi。
给文件aben赋予可执行权限。
echo +x aben.sh
在shell提示符下输入ls –l -a aben.sh
可以看到该文件的权限发生了变化。
在shell提示符下输入: .\ aben.sh就可以看到屏幕上输出:
首先shell提示符下会出现:
Please enter
您可能关注的文档
- 谈谈守护进程与僵尸进程.docx
- 01-跨站脚本攻击解析材料之一.doc
- Shell 循环基础.doc
- 实验5-MATLAB的程序设计.doc
- shell速成.doc
- Linux 进程管理_zql.ppt
- linux考点小结.docx
- unix shell编程及实例精解.docx
- 03linux命令详解.ppt
- day2-php基础.docx
- 四川省部分学校2024-2025学年高三上学期第一次联合性检测地理试题(解析版).docx
- 湖南省益阳市沅江市新湾镇中学2024-2025学年七年级上学期开学数学试题(含详解).pdf
- 广东省广州市第六中学2024-2025学年七年级上学期第一次月考语文试题(含答案).pdf
- 福建省福州市福清市2023-2024学年部编版九年级历史上学期期中试卷(无答案).pdf
- 上海市南洋模范中学2024-2025学年高三上学期开学考试数学试卷(解析版).docx
- 2024-2025学年福建省漳州市高三(上)第一次质检数学试卷(含答案).pdf
- 陕西省2024-2025学年高三上学期开学生物试题(解析版).docx
- 2024冀教版三年级数学上册第七单元综合测试卷(含答案).pdf
- 2024-2025学年八年级上学期第一次月考语文试题(原卷版A4).pdf
- 河南省许昌市禹州市高级中学菁华校区2024-2025学年高一上学期9月月考 化学试题(含答案).pdf
最近下载
- 幕墙防水图集-ver01来源..doc
- GB 10136-2015 食品安全国家标准 动物性水产制品.pdf
- 道路硬底化建设投标方案.doc
- 输变电工程标准工艺(变电工程电气分册)2022版.docx
- 深圳市智能机器人产业白皮书(2023年).pdf
- 典型零件多轴加工 课件 项目一 多轴机床的操作.pptx
- 人教版(2024)英语七年级上册 STARTER UNITS 1-3 学情评估.doc VIP
- 人教部编版七年级语文上册生字词复习练习及答案(给加点字注音、根据拼音写汉字、词语解释).pdf
- GB-T 196-2003普通螺纹 基本尺寸_(高清).pdf
- 数据库系统原理实践报告.docx VIP
文档评论(0)