Linux~Sh脚本一点自己的总结
从.netCore开源项目来看,eShopOnContainers来说,它的部署是跨平台的,可以部署在linux,docker上,在linux上运行它也可以写一些集成的小脚本,这是微信工程师为我们提供一个部署发布方案的SH脚本
#!/bin/bash declare -a projectList=('../src/Services/Catalog/Catalog.API''../src/Services/Basket/Basket.API''../src/Services/Ordering/Ordering.API''../src/Services/Identity/Identity.API''../src/Web/WebMVC''../src/Web/WebSPA''../src/Web/WebStatus' )# Build SPA app # pushd $(pwd)../src/Web/WebSPA # npm run build:prodfor project in "${projectList[@]}" doecho -e "\e[33mWorking on $(pwd)/$project"echo -e "\e[33m\tRemoving old publish output"pushd $(pwd)/$projectrm -rf obj/Docker/publishecho -e "\e[33m\tRestoring project"dotnet restoreecho -e "\e[33m\tBuilding and publishing projects"dotnet publish -o obj/Docker/publishpopd done# remove old docker images: images=$(docker images --filter=reference="eshop/*" -q) if [ -n "$images" ]; thendocker rm $(docker ps -a -q) -fecho "Deleting eShop images in local Docker repo"echo $imagesdocker rmi $(docker images --filter=reference="eshop/*" -q) -f fi# No need to build the images, docker build or docker compose will # do that using the images and containers defined in the docker-compose.yml file.
上面的解决主要体现了发布时用的一些命令,如数组,遍历,条件语句,删除文件,发布语句等,我自己写练了练手
declare -a arr=(1 2 3 4 5 ) for i in "${arr[@]}" do if [ $i == 2 ] thenecho "a is equal to 2" elseecho "a is not equal to 2" fidonedeclare -a projectList=('../src/Services/Catalog/Catalog.API''../src/Services/Basket/Basket.API''../src/Services/Ordering/Ordering.API''../src/Services/Identity/Identity.API''../src/Web/WebMVC''../src/Web/WebSPA''../src/Web/WebStatus' )for project in "${projectList[@]}" doecho -e "\e[33m工作在目录 $(pwd)/$project"echo -e "\e[33m\tRemoving old publish output" done
大家在写SH文件时要注意,linux与windows的回车符不一样,我们可以下载notepad++这个工具来进行转码。
本文转自博客园张占岭(仓储大叔)的博客,原文链接:Linux~Sh脚本一点自己的总结,如需转载请自行联系原博主。
Linux~Sh脚本一点自己的总结相关推荐
- linux如何编写.sh脚本,linux sh脚本编写奇刃
linux sh脚本编写奇刃 发布时间:2020-05-03 来源:脚本之家 点击: 其原理就是当您设定一个控制项的TabIndex为0时,原来TabIndex为0的控制项,TabIndex就变成了1 ...
- Linux挖坑脚本,Windows环境下写Linux sh脚本的一次挖坑和填坑
最近在研究Docker集群和安装的时候,需要准备若干台机器.所以我为节约时间,打算批量复制VM机器,然后用sh脚本命令执行机器名称和IP等基础配置信息的修改. 具体操作:我在windows环境下,用N ...
- linux sh脚本 while,Linux shell脚本使用while循环执行ssh的注意事项
原标题:Linux shell脚本使用while循环执行ssh的注意事项 如果要使用ssh批量登录到其它系统上操作时,我们会采用循环的方式去处理,那么这里存在一个巨大坑,你必须要小心了. 一.场景还原 ...
- linux sh 脚本调用外部命令
参考: http://blog.csdn.net/lhb_blog/article/details/22083649 ----------------------------------------- ...
- linux sh脚本循环遍历数组
linux脚本循环遍历集合 解决方法: 假如要遍历数组oucodes=("100099" "100077") for 数组元素 in ${数组[@]};do d ...
- linux sh脚本 -p,“读取-p”在linux shell脚本中做了什么?
首先,结构< command> – <选项>表示您要执行< command>使用与< option>对应的选项. A – 在命令之后意味着以下字母是一个 ...
- linux sh脚本各种数值进制转换(比如10进制转16)若干例子
#!/bin/bash echo "执行的文件: $0" echo "第一个参数: $1" echo "第二个参数: $2" echo & ...
- linux sh脚本 递增,Linux shell 脚本实现进度框
#!/bin/bash #dialog usage #dialog --msgbox "This is a test..." 10 30//height width { count ...
- 定时每天凌晨一点在linux系统上执行一个autobuild.sh脚本如何实现?
定时每天凌晨一点在linux系统上执行一个autobuild.sh脚本如何实现? 可以使用linux的计划任务功能crontab来实现定时执行脚本. 具体步骤如下: 编辑crontab计划任务列表: ...
最新文章
- 从零到百亿互联网金融架构发展史---架构变迁
- 自动去除所有目录的隐藏属性的DOS命令
- 产品经理如何通过拆产品,持续提升产品能力?附案例
- Firefox 检测到该服务器正在将此地址的请求循环重定向。 此问题可能是因为禁用或拒绝 Cookie 导致。...
- JSP+Servlet+C3P0+Mysql实现的azhuo商城
- SET XACT_ABORT各种用法及显示结果
- 哪里可以免费下SketchUp草图插件?
- 【运筹学】CH2 线性规划与单纯形法1——线性规划问题及其数学模型
- JAVA是解释型语言还是编译型语言
- oracle监听生成trace,监听器控制程序lsnrctl跟踪trace file
- 垃圾收集器垃圾回收算法知识图解
- Go语言学习笔记【6】 单元测试、Redis基础
- dxwebsetup 解决一些dll缺少的问题
- 软文营销拒绝一成不变用故事建立情感依恋
- 如何入门现代控制理论
- ASEMI代理ST/意法STW78N65M5原厂渠道汽车级MOSFET
- Tesin移动App测试突破1000万次,成为行业领跑者
- java实现简单RPG小游戏的角色创建
- qq邮件html样式错乱,QQ浏览器中页面出现莫名错乱原因分析
- VSAN 7 安装部署指南(一)