- 浏览: 82958 次
- 性别:
- 来自: 北京
文章分类
39.Shell脚本
自动化管理的重要依据
追踪与管理系统的重要工作
简单的入侵检测功能
连续命令单一化
简单的数据处理
例1:第一个脚本
vi sh01.sh
#!/bin/bash
echo $PATH
echo -e "Hello World! \a \n"
exit 0
chmod a+x sh01.sh
sh sh01.sh 或./sh01.sh
例2:变量内容由用户决定
vi sh02.sh
#!/bin/bash
read -p "Please input your first name: " firstname
read -p "Please input your last name: " lastname
echo -e "\nYour full name is : $firstname $lastname"
例3:利用date建立文件
vi sh03.sh
#!/bin/bash
#1.让用户输入文件名称,并获取fileuser变量
echo -e "I will use 'touch' command to create 3 files."
read -p "Please input the filename what you want : " fileuser
#2.为了避免用户随意按Enter,使用变量分析是否设置了文件名?
filename=${fileuser:-"filename"}
#3.开始使用date命令来获取所需要的文件名
date1=`date --date='2 days ao' +%Y%m%d`
date2=`date --date='1 days ao' +%Y%m%d`
date3=`date +%Y%m%d`
file1="filename""date1"
file2="filename""date2"
file3="filename""date3"
#4.建立文件名
touch $file1
touch $file2
touch $file3
40.使用test命令的测试功能
#test -e filename :该文件名是否存在
#test -f filename :该文件名是否为文件
#test -d filename :该文件名是否为目录
#test -rwx filename
例4:使用test、&&和||
vi sh04.sh
#!/bin/bash
#1.让用户输入文件名,并判断用户是否真的输入了字符串
echo -p "Input a filename : " filename
test -z $filename && echo "You must input a filename. " && exit 0
#2.判断文件是否存在
test ! -e $filename && "The filename $filename do not exist " && exit 0
#3.开始判断文件类型与属性
test -f $filename && filetype="regular file"
test -d $filename && filetype="regular file"
#4.开始输出信息
echo "The filename : $filename is a $filetype"
41.使用判断符号[]
[ $name == "VBird" ] 注意空格
42.Shell脚本的默认变量($0,$1,$2...)
#/path/to/scriptname opt1 opt2 opt3 ...
$0 $1 $2 $3
43.条件判断
if [ 条件判断表达式 ]; then
条件表达式成立时,可以执行的命令
fi
if [ 条件判断表达式 ]; then
条件表达式成立时,可以执行的命令
else
条件表达式不成立时,可以执行的命令
fi
if [ 条件判断表达式1 ]; then
条件表达式1成立时,可以执行的命令
elif [ 条件判断表达式2 ]; then
条件表达式2成立时,可以执行的命令
else
条件表达式不成立时,可以执行的命令
fi
case $变量名称 in
"第一个变量内容")
程序段
;;
"第二个变量内容")
程序段
;;
*)
程序段
exit 1
;;
esac
44.使用函数功能
函数在shell脚本中类似与自定义的执行命令,最大的功能是简化了很多程序代码
function fname(){
程序段
}
vi sh05.sh
#!/bin/bash
function printit(){
echo "Your choice is $1"
}
case $1 in
"one")
printit 1
;;
"two")
printit 2
;;
"three")
printit 3
;;
*)
echo "Usage {one|two|three}"
;;
esac
sh sh05.sh one
45.循环
while [ condition ]
do
程序段
done
until [ condition ]
do
程序段
done
for (( 初始值;限制值;执行步长 ))
do
程序段
done
s=0
for (( i=1; i<=100; i=i+1 ))
do
s=$(($s+$i))
done
for var in con1 con2 con3 ...
do
程序段
done
46.Shell脚本的追踪与调试
#sh [-nvx] scripts.sh
-n:不执行脚本,仅检查语法错误
-v:在执行脚本前,先将脚本的内容输出到屏幕上
-x:将使用的脚本内容显示到屏幕上
发表评论
-
虚拟机如何上网
2015-02-23 23:40 616虚拟机如何上网 1.虚拟机的Network Adapter ... -
RHEL5.4和RHEL6.3建议安装组件
2015-02-23 22:17 487RHEL5.4建议安装组件 GNOME Desktop E ... -
nmon监控Linux服务器系统资源
2015-03-19 12:45 478nmon详细使用过程 分析 AIX 和 Linux 性能 ... -
鸟哥的Linux私房菜-基础学习篇14
2011-10-01 11:21 85679.特殊的文件系统:LVM LVM就是将几个物理分区通过软 ... -
鸟哥的Linux私房菜-基础学习篇13
2011-10-01 10:20 71178.Linux备份策略 要备份的文件通常可以分为两类:一类 ... -
鸟哥的Linux私房菜-基础学习篇12
2011-09-27 22:42 74767.守护程序与服务 守 ... -
鸟哥的Linux私房菜-基础学习篇11
2011-09-23 22:57 76663.启动系统服务与相关启动设置文件(/etc/rc.d/rc ... -
鸟哥的Linux私房菜-基础学习篇10
2011-09-22 22:58 64859.Linux启动流程 1)加载bios的硬件信息,并获取 ... -
鸟哥的Linux私房菜-基础学习篇9
2011-09-18 19:07 99955.Linux工作任务分配的种类:at、cron at:工 ... -
鸟哥的Linux私房菜-基础学习篇8
2011-09-18 09:29 68647.Linux账号与身份管理 用户账号:/etc/pass ... -
鸟哥的Linux私房菜-基础学习篇6
2011-09-17 17:58 89336.正则表达式 #grep [inv] '搜索字符串' ... -
鸟哥的Linux私房菜-基础学习篇5
2011-09-17 11:25 48724.vi,vim文字处理器 /word,?word,dd, ... -
鸟哥的Linux私房菜-基础学习篇4
2011-09-17 09:27 44418.目录的连接数量 以硬连接进行“文件的连接”时,在ls ... -
鸟哥的Linux私房菜-基础学习篇3
2011-09-15 22:50 46713.Linux 的EXT3文件系统 ... -
鸟哥的Linux私房菜-基础学习篇2
2011-09-14 22:32 72410.目录属性的意义 r: ... -
鸟哥的Linux私房菜-基础学习篇1
2011-09-13 22:25 539硬盘分为两个区域,一个是放置这个硬盘的信息区,我们称之为主引导 ...
相关推荐
鸟哥linux私房菜-基础篇-第四版
鸟哥的私房菜-基础学习篇-第三版 第三版,最新的哦
鸟哥linux私房菜-服务器版 3版 vbird-linux-server-3e.pdf
学习linux的菜鸟们,鸟哥的私房菜----基础学习篇。。。很不错的资源喔!
鸟哥的私房菜-linux基础篇
鸟哥的Linux 私房菜 基础学习篇.mobi,鸟哥的Linux 私房菜 基础学习篇.mobi
鸟哥linux私房菜,基础篇笔记,里面涵盖重点内容,全面
鸟哥的私房菜Linux-基础篇,鸟哥的私房菜Linux-基础篇
鸟哥Linux私房菜 基础篇+服务器篇(全),Linux基础知识,shell脚本及搭建服务器相关,Linux神作。
鸟哥linux私房菜电子书版,方便自学者使用,以提高对linux的学习和使用。
这部份最重要的是 TCP/IP 与 OSI 七层协议的相关概念了,这部份难的很~难的很~ 在这一章中,鸟哥以较为口语的方式来介绍这些基础网络架构,希望能带给朋友们快速了解网络是啥。 当然,想要更了解网络相关功能的话...
鸟哥的私房菜linux学习-服务器架设篇
要了解 Linux 之前,就不能不知道什么是操作系统 ( Operation System, OS ),所以,首先我们来简单的说一说什么是操作系统吧!先来想一想,当我们使用计算机时,屏幕上面显示的咚咚是由哪里来的?嗯!是由显示卡与...
鸟哥Linux私房菜服务器架设(第三版).pdf
鸟哥的私房菜-服务器架设篇-第三版 第三版,最新的哦
该PDF版本非常清晰,书签详细。内容生动有趣,是Linux入门学习的必备书籍。
linux入门必看,讲解详细,看完就会,原理讲解,是linux参看学习的必备品。 看评论有人说有木马,我敢保证,上传的文件绝对没有木马。不能排除文件上传后被感染木马,请下载后杀毒。
鸟哥的私房菜linux基础篇是我看过的最好的基础文档,和大家分享一下。喜欢的可以收藏!!
鸟哥的Linus私房菜上下两篇,包括基础学习篇和服务器篇,完整版pdf