Linux—shell脚本化工具模板
2020-03-16 16:02:55来源:博客园 阅读 ()
Linux—shell脚本化工具模板
本文主要介绍Linux的shell脚本,在实践中总结出大致的部署升级脚本化模板。shell脚本介绍
??在研发过程中,不断的有项目或者产品升级,在此过程中,我们可以充分利用shell脚本去实现一些固定步骤的一键部署和升级。
配置文件
??在编写脚本前,我们可以编写一个额外的配置文件作为一键部署的入参文件,脚本可以读取到该配置文件中的变量值。届时,只需要修改配置文件内的配置,而无需更改脚本。
如:test.properties
[root@linux01 ~/test_sh]# vim test.properties
# set parameters start
# int type
id_test=12
# string type
str_test="test properties"
# array with white space type
array_test=(arr1 arr2 arr3)
[root@linux01 ~/test_sh]# ll
-rw-r----- 1 root root 159 Mar 16 21:43 test.properties
shell实战
[root@linux01 ~/test_sh]# vim test.sh
#!/bin/bash
# print start time
starttime=$(date +%Y-%m-%d\ %H:%M:%S)
# echo to log
echo "【Start to execute the script】, start time is: " $starttime >> test_sh.log
# read properties from other file
source ./test.properties
echo "Parameters: cat test.properties" >> test_sh.log
while read line
do
echo $line >> test_sh.log;
done < test.properties
echo "------ test.properties end------" >> test_sh.log
# ==============================================================
# create dir
mkdir ${str_test}${id_test}
echo -e "\nmkdir dir success, and name is: "${str_test}${id_test} >> test_sh.log
# product file
for ((i=0; i<${#array_test[@]}; i++))
do
echo "now array_test i is "${#array_test[@]} >> test_sh.log
echo "This is ${array_test[i]} file " >> ${array_test[i]}_file.txt
done
# print end time
endtime=`date +"%Y-%m-%d %H:%M:%S"`
[root@linux01 ~/test_sh]# ll
-rw-r----- 1 root root 159 Mar 16 21:43 test.properties
-rwxr-x--- 1 root root 993 Mar 16 21:45 test.sh
执行shell
注意为了简化,我们将test.properties
和test.sh
放到一个目录下,以便于读取配置。
[root@linux01 ~/test_sh]# sh test.sh
[root@linux01 ~/test_sh]# ll
total 28
-rw-r----- 1 root root 19 Mar 16 22:11 arr1_file.txt
-rw-r----- 1 root root 19 Mar 16 22:11 arr2_file.txt
-rw-r----- 1 root root 19 Mar 16 22:11 arr3_file.txt
-rw-r----- 1 root root 159 Mar 16 22:08 test.properties
drwxr-x--- 2 root root 4096 Mar 16 22:11 test_properties12
-rwxr-x--- 1 root root 969 Mar 16 22:11 test.sh
-rw-r----- 1 root root 469 Mar 16 22:11 test_sh.log
查看日志
[root@linux01 ~/test_sh]# vim test_sh.log
【Start to execute the script】, start time is: 2020-03-16 21:57:47
Parameters: cat test.properties
# set parameters start
# int type
id_test=12
# string type
str_test="test properties"
# array with white space type
array_test=(arr1 arr2 arr3)
------ test.properties end------
mkdir dir success, and name is: test_properties_12
now array_test i is 3
now array_test i is 3
now array_test i is 3
【Execute the script end】, end time is: 2020-03-16 21:57:47
查看生成的文件
[root@linux01 ~/test_sh]# vim arr1_file.txt
This is arr1 file
[root@linux01 ~/test_sh]# vim arr2_file.txt
This is arr2 file
[root@linux01 ~/test_sh]# vim arr3_file.txt
This is arr3 file
原文链接:https://www.cnblogs.com/Andya/p/12507344.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:git工具-系列目录
- Linux系统如何设置开机自动运行脚本? 2020-06-11
- Linux指令和shell脚本 2020-06-11
- 适合开发者的最佳Linux发行版 2020-06-11
- RAID 1 软件实现(Linux 系统) 2020-06-10
- linux各级目录 2020-06-08
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash