- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章 Shell编程和软件安装
第十一章
SHELL编程和软件安装
2018年1月10日9时19分
2
本章目标
shell语法
RPM软件包安装
使用yum管理软件包
本章结构
补充材料
RPM软件包管理器
高级Shell脚本编程
使用YUM管理软件包
图形环境简介
2018年1月10日9时19分
4
分支:if...then...[else...]fi
if ls /root
then
echo this is a directory
else
echo this is not a directory or No such file
fi
[root@WOLK-TECH shell]# ./11.1
authorized_keys id_rsa id_rsa.pub known_hosts
this is a directory
test命令
可以看出上面的结果出现的问题,不需要的东西也显示在结果里面了。我们需要一个专用的命令来做这些判断,这个命令就是test命令。
11.1 高级Shell脚本编程
11.1 高级Shell脚本编程
if test -d /root/.ssh
then
echo this is a directory
else
echo this is not a directory or No such file
fi
[root@WOLK-TECH shell]# ./11.1
this is a directory
2018年1月10日9时19分
5/5
11.1 高级Shell脚本编程
表达式
条件
-d file
file是一个目录且存在
-e file
fiel存在
-f file
file存在,是一个常规文件
-r file
file存在,是可读文件
-w file
file存在,是可写入文件
-x file
file存在,是可执行文件
file1 –nt file2
file1比file2新
2018年1月10日9时19分
6/6
测试文件属性的test表达式
11.1 高级Shell脚本编程
比较字符串的test表达式
test命令的逻辑表达式
2018年1月10日9时19分
7/7
表达式
条件
[-n] string
string的长度大于零
-z string
string的长度为零
string1 = string2
string1和string2相等
string1 != string2
string1和string2不相等
表达式
条件
expression1 –a expression2
两个都为真(与)
expression1 –o expression2
其中一个为真(或)
!expression
expression为假(非)
11.1 高级Shell脚本编程
在编程时我们可以使用[ expression ]来代替test expression注意了括号中的内容和空格之间是有一个空格的。
循环:for ... in ... do ... done
循环让一系列命令反复执行,每次执行时可能会稍有变化。这通这些变化体现在一个名叫“迭代变量”的变量上。
for iterator in list
do
command(s)
done
每次循环,迭代变量都 会选用表达式list中列出的不同单词。
2018年1月10日9时19分
8/8
11.1 高级Shell脚本编程
打包目录的脚本
#!/bin/bash
for DIR in $*; do
if [ -d $DIR ]
then
if [ $DIR = . -o $DIR = .. ]
then
echo skipping directory $DIR
else
tar zcvf ${DIR}`date +%y-%m-%d`.tgz $DIR rm -fr $DIR
fi
else
echo skipping non directory $DIR
fi
done
2018年1月10日9时19分
9/9
11.2 RPM
rpm称为红帽软件包管理器。软件包管理器让开发者可以开发和发布软件,让管理员可以安装
文档评论(0)