Shell系列-编写及执行脚本

@lianst  June 20, 2016

一、第一个Shell脚本

1.什么是shell脚本?
提前写好可执行的语句,能够完成特定任务的文件(顺序执行,批量化处理;解释型程序)

2.shell版HelloWorld的诞生
脚本创建"三步走"
-新建文本文件
-添加可执行的脚本语句(命令行)
-添加x执行权限

[root@centos67-x64 /]# vim first.sh   //创建文件
#!/bin/bash
echo "Hello World"    //编写脚本语句
[root@centos67-x64 /]# chmod +x first.sh    //添加x权限
[root@centos67-x64 /]# ./first.sh     //运行脚本,查看运行结果
Hello World

二、脚本构成及执行

1.规范的脚本构成
#! :脚本声明(使用哪种解释器)
# :注释信息(步骤、思路、用途、变量含义等)
可执行的语句

#!/bin/bash   //sha-bang调用标记
#A test program for shell-script  //注释信息
echo "Hello World"      //可执行的脚本语句或命令行

2.脚本的执行方式
2.1 方法一(作为"命令字")
-指定脚本文件的路径,前提是有x权限
2.2 方法二(作为"参数")-不需要有x权限
-sh 脚本文件路径
-source 脚本文件路径
-.脚本文件路径

[root@centos67-x64 /]# sh first.sh 
Hello World
[root@centos67-x64 /]# ./first.sh 
Hello World

3.调试shell脚本
主要途径:
-直接观察执行中的输出、报错信息
-通过sh -x 开启调试模式
-在可能出错的地方设置echo断点

[root@centos67-x64 /]# sh -x first.sh 
+ echo 'Hello World'
Hello World

三、简单脚本应用

1.例-1:快速配置YUM
目的:为新装的客户机配置好YUM仓库
条件:软件源位于file:///misc/cd;通过脚本建立/etc/yum.repos.d/rhel6.repo文件

[root@centos67-x64 shell]# ls /etc/yum.repos.d/
repo
[root@centos67-x64 shell]# vim rhel6.sh
#!/bin/bash
rm -rf /etc/yum.repos.d/*.repo
echo '[repo]
name=rhel6 repo
baseurl=file:///misc/cd
enable=1
gpgcheck=0
gpgkey='> /etc/yum.repos.d/rhel6.repo
[root@centos67-x64 shell]# chmod +x rhel6.sh 
[root@centos67-x64 shell]# ./rhel6.sh 
[root@centos67-x64 shell]# ls /etc/yum.repos.d/
repo  rhel6.repo
[root@centos67-x64 shell]# cat /etc/yum.repos.d/rhel6.repo 
[repo]
name=rhel6 repo
baseurl=file:///misc/cd
enable=1
gpgcheck=0
gpgkey=

2.例-2:快速搭建FTP服务器
目的:为新装的客户机搭建好vsftpd服务
条件:安装vsftpd;开启服务;开机自启

[root@centos67-x64 shell]# vim ftpon.sh
#!/bin/bash
yum -y install vsftpd &> /dev/null
/etc/init.d/vsftpd restart
chkconfig vsftpd on

添加新评论