shell脚本

Shell脚本

什么是shell脚本

shell脚本并不能作为正式的编程语言,因为它是在Linux的shell中运行的,所以称为shell脚本。事实上,shell脚本就是一些命令的集合。

比如我想实现配置yum源的操作

  1. 创建目录
  2. 将CD设备挂载到目录
  3. 将/etc/yum.repos.d/下的文件删除
  4. 创建local.repo文件,配置本地YUM源文件

完成以上简单的四步命令需要在shell窗口中输入四次命令 这不算太难 如果是输入复杂的命令 一次一次敲键盘会很麻烦 所以我们不妨把所有操作都记录在一个文档中 然后去调用文档中的命令 这样就可以一步操作 这个文档就是shell脚本.

 

Shell脚本的创建和执行

开始编写我们的第一个shell脚本

[root@localhost sbin]#vi first.sh

#! /bin/bash

 

##This is my first shell script.

##Writen by sym 2021-01-15.

 

date

echo "Hello world!"

Shell脚本通常都以.sh为后缀名 并不是不加.sh的脚本就不能执行 只是为了方便识别 所以以后看到.sh为后缀的文件 那么他可能是一个shell脚本.

本例中 脚本文件的第一行要以#! /bin/bash开头 表示该文件使用的是bash语法 常用的语法还有sh,awk,csh等  如果不写第一行 shell脚本也可以执行 默认为bash语法 但是不符合规范 #表示注释 后面跟一些该脚本的相关注释内容 方便提示此脚本的作用

下面我们执行这个脚本

[root@localhost sbin]# sh first.sh

Fri Jan 15 12:53:56 EST 2021

Hello world!

还有另一种执行方法

[root@localhost sbin]# ./first.sh

-bash: ./first.sh: Permission denied (权限不足)

[root@localhost sbin]# chmod +x first.sh

[root@localhost sbin]# ./first.sh

Fri Jan 15 12:54:41 EST 2021

Hello world!

使用该方法运行shell脚本的前提是脚本本身具有执行权限 所以要给脚本加一个x权限 另外 用sh命令执行shell脚本时可以加-x选项来查看脚本的执行过程 这样有利于我们调试此脚本

[root@localhost sbin]# sh -x first.sh

+ date

Fri Jan 15 12:58:04 EST 2021

+ echo 'Hello world!'

Hello world!

命令date

date命令在shell脚本中常用的用法如下

date+%Y 表示以四位数格式打印年份

+%y 表示以两位数格式打印年份

+%m 表示月份

+%d 表示日期

+%H 表示小时

+%M 表示分钟

+%S 表示秒

+%w 表示星期 结果显示0则表示周日

[root@localhost sbin]# vi four.sh

#! /bin/bash

 

date +"%Y-%m-%d %H:%M:%S"

[root@localhost sbin]# sh four.sh

2021-01-15 13:11:39

 

一键部署脚本

学了前面的脚本知识之后就可以自己编写一些简单的脚本了 比如一键部署yun源和一键部署ftp等

 一键部署yum源

[root@localhost sbin]# vi second.sh

#! /bin/bash

 

mkdir /opt/centos

echo "创建目录"

mount /dev/cdrom /opt/centos

echo "挂载成功"

rm -f /etc/yum.repos.d/*

echo "删除目录内容"

cat > /etc/yum.repos.d/local.repo <<EOF

[centos]

name=centos

baseurl=file:///opt/centos

gpgcheck=0

enabled=1

EOF

echo "编辑成功"

yum clean all

yum repolist

echo "yum挂载完毕"

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值