Shell脚本一些例子与基本语法介绍

平时很少写Shell脚本,主要是它的语法相比Python要难掌握,但做为非专业运维工程师,拼拼凑凑还是要能写一点Shell代码,在处理文件相关任务时还是要方便些。

一、数据库冷备

0 15 * * * sh /bak/bakdb.sh

 每天定时将AWS上的RDS dump到一台离线机器,然后导入自已搭建的MySql数据库。

二、Java与Vue项目打包发布

注:
1、考虑到项目相对较少,不想去搭建Jenkins这类集成打包环境,就直接写一个Shell脚本。
2、在脚本中写 rm -rf * 要特别小心,一般要指定删除目录的完整路径,不要先cd到目录,然后执行rm -rf ,这样风险很大,极有可能误删,记得四年前第一次写的时候没注意,一个脚本执行后把脚本自己都干掉了。
这里建议生产环境机器,最好重新定义一下rm,不要直接删除,把数据先挪到回收站。

alias rm=trash
trash()
{
 mv $@ ~/.Trash/
}
alias rl='ls ~/.Trash'
alias ur=undelfile
undelfile()
{
 mv -i ~/.Trash/$@ ./
}
cleartrash()
{
 read -p "Clear trash>[n]" confirm
 [ $confirm == 'y' ] || [ $confirm == 'Y' ] && /usr/bin/rm -rf ~/.Trash/*
}

 三、例子语法介绍

这个例子是批量创建用户,涉及到遍历文件,条件判断,循环等基本语法。

users.txt

andy
barry
carl
duke

1、循环结构

for
do
.........
done

 2、条件语句

if [  ]
then
  ......
else
  ......
fi

3、$? 判断上一条命令是否执行成功,0为成功,非0为失败。这个比较容易搞错。
4、赋值语法的=前后不能有空格,这点也需要注意。
5、判断目录是否存在,不存在则创建目录,用Shell脚本处理文件或目录还是比较常见的

DIR="/home/qingcai/test"
if [ ! -e $DIR ]
then
  mkdir -p $DIR
fi
​
-d 测试是否为目录
-e 测试文件或目录是否存在
-f 判断是否是文件

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值