1、简单脚本编写
1.1 命令罗列
目的:实现代码仓库主机上的操作命令功能即可
实现简单的功能— 简单的命令罗列
#!/bin/bash
# 功能:打包代码
# 脚本名:tar_code.sh
# 作者:itcast
# 版本:V 0.1
# 联系方式:www.itcast.cn
cd /data/codes
[ -f django.tar.gz ] && rm -f django.tar.gz
tar zcf django.tar.gz django
修改版本数,模拟代码更新
sed -i 's#1.1#1.2#' /data/codes/django/views.py
执行打包脚本
bash /data/scripts/tar_code.sh
查看压缩文件内容如果压缩包中的版本变为1.2则说明脚本执行正常
zcat django.tar.gz
1.2 固定内容变量化
问题:脚本里面的手写的固定的内容太多了,更改时候费劲
#!/bin/bash
# 功能:打包代码
# 脚本名:tar_code.sh
# 作者:itcast
# 版本:V 0.2
# 联系方式:www.itcast.cn
FILE='django.tar.gz'
CODE_DIR='/data/codes'
CODE_PRO='django'
cd "${CODE_DIR}"
[ -f "${FILE}" ] && rm -f "${FILE}"
tar zcf "${FILE}" "${CODE_PRO}"
检查脚本运行情况
修改版本
sed -i 's#1.2#1.3#' /data/codes/django/views.py
执行脚本
bash /data/scripts/tar_code.sh
查看压缩文件内容
zcat django.tar.gz
1.3 功能函数化 需求:三条命令其实是一个组合,实现的是一个功能
#!/bin/bash
# 功能:打包代码
# 脚本名:tar_code.sh
# 作者:itcast
# 版本:V 0.3
# 联系方式:www.itcast.cn
FILE='django.tar.gz'
CODE_DIR='/data/codes'
CODE_PRO='django'
code_tar(){
cd "${CODE_DIR}"
[ -f "${FILE}" ] && rm -f "${FILE}"
tar zcf "${FILE}" "${CODE_PRO}"
}
code_tar
检查脚本运行情况
脚本编写完成后,进行测试:
sed -i 's#1.2#1.3#' /data/codes/django/views.py
bash /data/scripts/tar_code.sh
查看压缩文件内容
zcat /data/codes/django.tar.gz
1.4 远程执行 格式:ssh 远程主机登录用户名@远程主机ip地址 “执行命令”
admin-1@ubuntu:/data/server/itcast# ssh root@192.168.8.15 "ifconfig eth0"
eth0 Link encap:Ethernet HWaddr 00:0c:29:f7:ca:d4
inet addr:192.168.8.15 Bcast:192.168.56.255 Mask:255.255.255.0
...
1.5 其他常用命令
远程更新文件内容