- 2
- 0
- 约1.04万字
- 约 32页
- 2020-05-11 发布于安徽
- 举报
.-
Shell程序设计
学习内容:
什么是shell
语法:变量、条件判断、程序控制
函数
命令和命令的执行
Here文档
调试
Grep命令和正则表达式
Find命令
什么是shell?
Shell是一个作为用户与Linux系统间接口的程序,它允许用户向操作系统输入需要执行的命令。在一个linux系统中可以安装多个shell,这些shell和其他程序一起环绕在linux内核四周。默认安装的标准是/bin/sh,它是GNU工具集中的bash。使用/bin/bash –version可以查看版本。
Shell 历史版本:sh csh,、tcsh、 zsh ksh、pdksh bash
shell脚本编写、运行、调试
脚本均以 #!/bin/bash开头。
脚本中的 ‘#’为注释符。
使用exit为脚本设置返回一个退出码,注意 0 表示的是执行成功。
示例:
#!/bin/bash
# this is my first shell!
echo “helloword!”
exit 0
设置脚本为可执行: chmod u+x filename.sh
执行:./filename.sh
sh –x ./filename.sh
shell语法
变量:无需事先声明,直接使用,在访问时要加$在变量前。
例如:
Str=hello
echo $Str
a.这两行语句将在屏幕输出一个“hello”,shell区别大小写,定义变量时应该注意。
b.如果为变量所赋的字符串中含有空格,table或换行符应使用“”标示,例如 “hello word!”
c.变量在引号中依然有效如echo “this is $Str!”依然会输出:this is hello!
练习示例:(注:后续的示例中只有关键部分,练习时补全)
echo “input password:”
read pasd
echo “the password is $pasd”
d.如果需要输出字符$Str可以用单引号 和 \来处理:
‘$Str’ 和\$Str 输出的都是 $Str不是变量表示的值,shell中的变量一般都是字符串形式。
e: 环境变量,介绍几种:
$HOME 当前用户的家目录
$PATH 搜索命令的目录列表
$0 shell脚本的名字
$# 传递给脚本的参数个数
$$ 脚本的进程号
f:参数变量:
$1,$2脚本的程序参数
$* 列出所有参数
$@ S*的一种变体,它参数不会挤在一块。
g:变量做整形数字使用:
a=123
let “a +=1”
echo “a = $a”
条件
使用 test 或 [ ]
如 if test –f file.c
then
…..
fi
以上代码也可写成如下形式(尽量使用这种形式)
if [ -f file.c ] (注意:if语句和[之间有个空格]
then
….
fi
完整示例:
#!/bin/bash
echo “is it morning? Please answer yes or no”
read timeofday
if [ $timeofday = “yes” ] ;then
echo “good morning”
else
echo “good afternoon”
fi
exit 0
elif语句,在if,else语句中增加分支判断。如下示例:
#!/bin/bash
echo “is it morning? Please answer yes or no”
read timeofday
if [ $timeofday = “yes” ] ;then
echo “good morning”
elif [ $timeofday = “no” ]
then
echo “Good afternoon”
else
echo “sorry ,$timeofday not recognized. Enter yes or no”
exit 1
fi
exit 0
一个与变量有关的问题。
如上程序,如果没有输入Yes和no直接按回车键,会出现什么结果呢?程序会有出错信息。原因是。。。避免该问题产生的方法对变量使用双引号“$Str”
for语句
使用for语句可以循环处理一组值,这组值可以是任意字符串的集合。 它的语法形式如下:
for variable in values
do
something
done
示例:
#!/bin/bash
您可能关注的文档
- ps-四大重要技术.doc
- ps网站切图网页切图教育教案详解.doc
- PS照片管理方案计划教育教案证件照换底.doc
- PS自学完整编辑记录材料【精华】.doc
- PySide知识学习进修教学方案计划教育教程.doc
- Python入门基础教育教案详细1小时学会Python.doc
- python新手教育教案.doc
- Python知识学习入门基础教学方案计划教案详细1小时学会Python.doc
- QBasic教学方案计划教育教程(全套).doc
- QMS汇总题库(题中含规范标准答案).doc
- 八年级语文下册na文言文阅读专练(二).pptx
- 2025年福建莆田秀屿区南日镇卫生院第一轮编外人员招聘2人笔试历年题库附答案解析.docx
- 八年级语文下册nb文言文阅读专练(一) (2).pptx
- 八年级语文下册n2 回延安 (5).pptx
- 2025年福建莆田秀屿区南日镇卫生院第一轮编外人员招聘2人笔试历年题库附答案解析.docx
- 2025年福建莆田市荔城区东洋中学代课教师招聘1人笔试试题附答案解析.docx
- 八年级语文下册nc文言文阅读专练(一) (3).pptx
- 2025年福建莆田市莆投智泊科技有限公司职业经理人招聘2人笔试历年题库附答案解析.docx
- 八年级语文下册ne写作 (2).pptx
- 2025年福建莆田市荔城区东洋中学代课教师招聘1人笔试备考题库附答案解析.docx
原创力文档

文档评论(0)