精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Vue/React項目中不可忽視的自動化部署方案

開發 前端 自動化
本文主要介紹shell腳本的一些基本用法以及在前端項目中的應用Shell 是一個用 C 語言編寫的程序,它是用戶使用 Linux 的橋梁。

[[415229]]

本文主要介紹shell腳本的一些基本用法以及在前端項目中的應用。將圍繞以下幾點來展開:

  • shell基本用法(變量,循環,傳參,運算符,流程控制等)
  • 使用shell腳本自動將項目打包部署到git服務器
  • 使用nodeJs編寫命令行工具

一、shell基本介紹及用法

  • Shell 是一個用 C 語言編寫的程序,它是用戶使用 Linux 的橋梁,業界所說的 shell 通常都是指 shell 腳本,Shell 編程跟 java、php 編程一樣,只要有一個能編寫代碼的文本編輯器和一個能解釋執行的腳本解釋器就可以了。Linux 的 Shell 種類眾多,在這里我們介紹一種常用且開源免費的shell——bash。

1.Shell 變量

變量聲明如下:

  1. time=10 

注:變量名和等號之間不能有空格,變量名命名規則如下:

  • 命名只能使用英文字母,數字和下劃線,首個字符不能以數字開頭。
  • 中間不能有空格,可以使用下劃線(_)。
  • 不能使用標點符號。
  • 不能使用bash里的關鍵字(可用help命令查看保留關鍵字)

我們可以通過如下方式使用變量:

  1. name="xujiang" 
  2. echo $name 
  3. # 或者這樣 
  4. echo ${name

我們能使用如下方式刪除變量:

  1. unset name 

關于shell變量的更多用法,可以參考linux官網,這里就不過多介紹了。

2.Shell 傳遞參數

  • 我們可以在執行 Shell 腳本時,向腳本傳遞參數,腳本內獲取參數的格式為:。代表一個數字,為執行腳本的第一個參數,為執行腳本的第二個參數,以此類推其中

n。n代表一個數字,1為執行腳本的第一個參數,2為執行腳本的第二個參數,以此類推,其中0 為執行的文件名

使用如下:

  1. echo "文件名:$0"
  2. echo "參數一:$1"
  3. echo "參數二:$2"
  4. echo "參數三:$3"
  5. # 輸出 
  6. 文件名:./test.sh 
  7. 參數一:1 
  8. 參數二:2 
  9. 參數三:3 

3.Shell 數組

Bash Shell 只支持一維數組,數組元素的下標由0開始。Shell 數組用括號來表示,元素用"空格"符號分割開,例如:

  1. names=(name1 ... namen) 

我們可以通過如下方式讀取數組:

  1. ${names[0]} 

我們可以使用@ 或 * 可以獲取數組中的所有元素,例如:

  1. echo "數組的元素為: ${nsmes[*]}" 
  2. # 輸出為 
  3. 數組的元素為: A B C D 

4.Shell 基本運算符

Shell支持多種運算符,如下:

  • 算數運算符
  • 關系運算符
  • 布爾運算符
  • 字符串運算符
  • 文件測試運算符

原生bash不支持簡單的數學運算,但是可以通過其他命令來實現,這里我們使用expr。它是一款表達式計算工具,使用它能完成表達式的求值操作。例如:

  1. #!/bin/bash 
  2.  
  3. total=`expr 2 + 2` 
  4. echo "兩數之和為 : $total" 

注:這里我們使用反引號``。由于命令行工具這塊用的比較少,如果感興趣,大家可以去官網了解學習。

5.Shell echo命令

Shell 的 echo 指令與 PHP 的 echo 指令類似,都是用于字符串的輸出,這里我們著重介紹與用戶交互的輸入輸出。

  1. #!/bin/sh 
  2. read name  
  3. echo "hello $name" 

read 命令從標準輸入中讀取一行,并把輸入行的每個字段的值指定給 shell 變量。當我們執行腳本后,輸入一個自定義名稱,按下回車將輸出 'hello xxx',我們是不是想到了vue腳手架中的一些命令呢,是的,我們可以用這個方法去實現自己的腳手架配置或者自動生成項目模版。

我們也可以用echo將顯示結果定向至文件:

  1. echo "It is mine" > test.js 

執行 這個文件后將為我們創建一個test.js文件,并將輸出內容寫入test.js。

6.Shell test 命令

test 命令用于檢查某個條件是否成立,它可以進行數值、字符和文件三個方面的測試。

數值測試:

  • -eq 等于則為真
  • -ne 不等于則為真
  • -gt 大于則為真
  • -ge 大于等于則為真
  • -lt 小于則為真
  • -le 小于等于則為真

使用方式如下:

  1. name1=1 
  2. name2=1 
  3. if test $[name1] -eq $[name2] 
  4. then 
  5.     echo '相等!' 
  6. else 
  7.     echo '不相等!' 
  8. fi 

運行腳本后將輸出'相等!'。

字符串測試:

  • = 等于則為真
  • != 不相等則為真
  • -z 字符串 字符串的長度為零則為真
  • -n 字符串 字符串的長度不為零則為真

例如:

  1. name1="xu" 
  2. name2="xu" 
  3. if test $name1 = $name2 
  4. then 
  5.     echo '兩個字符串相等!' 
  6. else 
  7.     echo '兩個字符串不相等!' 
  8. fi 

7.Shell 流程控制

流程控制我們主要介紹if else, if else-if else和for循環。

  • if else
  1. if 條件1 
  2. then 
  3.     命令操作1 
  4. else 
  5.     命令操作2 
  6. fi 
  • if else-if else
  1. a=1000 
  2. b=2000 
  3. if [ $a == $b ] 
  4. then 
  5.    echo "a 等于 b" 
  6. elif [ $a -gt $b ] 
  7. then 
  8.    echo "a 大于 b" 
  9. elif [ $a -lt $b ] 
  10. then 
  11.    echo "a 小于 b" 
  12. else 
  13.    echo "無" 
  14. fi 
  • for 循環
  1. # 一般格式 
  2. for var in a1 a2 ... aN 
  3. do 
  4.     命令1 
  5.     命令2 
  6.     ... 
  7.     命令N 
  8. done 

在了解完如上知識點后,我們來看看這些能做些什么。

二、使用shell腳本自動將項目打包部署到git服務器

1.一個git提交的例子

  1. #!/bin/bash 
  2. git add . 
  3. git commit -m 'xj--'$1 
  4. git push 
  5.  
  6. # 提交時只需要執行 bash git.sh '參數內容'即可完成提交操作 

首先,我們在項目根目錄下新建一個git.sh文件,輸入以上腳本,保存,然后我們后面要提交代碼時,只需要執行 bash git.sh '你的注釋',就可以將代碼提交到服務器上了,是不是簡化了我們提交的步驟呢

2.vue項目部署

我在一張圖教你快速玩轉vue-cli3這篇文章中教大家了如何獨立配置項目,文章末尾有寫到部署的方式,如下:

  1. #!/usr/bin/env sh 
  2.  
  3. # 當發生錯誤時中止腳本 
  4. set -e 
  5.  
  6. # 構建 
  7. npm run build 
  8.  
  9. # cd 到構建輸出的目錄 
  10. cd dist 
  11.  
  12. git init 
  13. git add -A 
  14. git commit -m 'deploy' 
  15.  
  16. git push -f git@bitbucket.org:<USERNAME>/<USERNAME>.bitbucket.io.git master 
  17.  
  18. cd - 

在學完shell腳本后,是不是覺得豁然開朗了呢。如果有更復雜的需求,我們可以用同樣的方式去部署。

三、使用nodeJs編寫命令行工具

我們這里使用commander來搭建node命令行,接下來我會給出最基本的用法,下一篇文章將專門來給大家講解如何搭建一個高可用的node命令行工具,在此之前,大家可以自由摸索,也許會有更好的方式。

  1. // 1.構建項目目錄 
  2. mkdir xxx 
  3. cd xxx 
  4. npm init 
  5.  
  6. // 2.安裝commander模塊 
  7. npm install commander --save 
  8.  
  9. // 3.新建bin/[你自定義的命令行文件名] 
  10. #!/usr/bin/env node 
  11.  
  12. var program = require('commander'); 
  13.  
  14. program.version('0.0.1'); 
  15.  
  16. program 
  17.     .command('help'
  18.     .description('顯示使用幫助'
  19.     .action(function() { 
  20.         program.outputHelp(); 
  21.     }); 
  22.  
  23. program 
  24.     .command('create [dir]'
  25.     .description('創建一個空博客'
  26.     .action(function(dir) { 
  27.         console.log('create %s', dir); 
  28.     }); 
  29.  
  30. program 
  31.     .command('preview [dir]'
  32.     .description('實時預覽'
  33.     .action(function(dir) { 
  34.         console.log('preview %s', dir); 
  35.     }); 
  36.  
  37. program 
  38.     .command('build [dir]'
  39.     .description('生成整站靜態HTML'
  40.     .option('-o, --output <dir>''生成的靜態HTML存放目錄'
  41.     .action(function(dir) { 
  42.         console.log('創建 %s, 輸出 %s', dir, options.output); 
  43.     }); 
  44.  
  45. // 開始解析命令 
  46. program.parse(process.argv); 
  47.  
  48. // 4.在package.json目錄下執行關聯操作 
  49. npm link 
  50.  
  51. // 5.測試,輸入相關命令即可執行對應操作 
  52. xxx help 

 本文轉載自微信公眾號「趣談前端 」,可以通過以下二維碼關注。轉載本文請聯系趣談前端 公眾號。

【編輯推薦】

【責任編輯:姜華 TEL:(010)68476606】

 

責任編輯:姜華 來源: 趣談前端
相關推薦

2014-03-11 11:10:10

PowerShell自動化腳本

2013-11-27 11:34:43

自動化部署Python

2024-12-31 09:46:45

2018-05-04 14:00:24

2015-02-04 09:17:38

亞馬遜AWS云自動化

2020-09-27 10:35:22

Vue前端代碼

2011-07-18 08:58:24

2021-06-30 19:48:21

前端自動化測試Vue 應用

2011-04-14 10:13:37

布線測試

2013-05-16 11:07:37

Android開發Android應用自動化測試

2012-04-16 10:12:55

云計算自動化

2015-10-21 14:23:08

反模式持續部署自動化運維

2023-04-06 07:09:25

自動化部署Actions

2022-11-15 17:07:40

開發自動化前端

2024-09-13 15:32:18

2024-01-24 18:50:21

WebFTP服務器

2021-05-07 08:03:15

微服務JenkinsGitHub項目

2017-12-17 21:58:18

2022-10-09 11:07:40

物聯網如自動化

2023-09-14 08:46:50

ReactVue
點贊
收藏

51CTO技術棧公眾號

国产综合在线看| 日韩一级片网站| 一本色道久久99精品综合| 国产伦一区二区| 国产精品亚洲综合色区韩国| 中文字幕一区日韩电影| 精品国产aⅴ一区二区三区东京热 久久久久99人妻一区二区三区 | 精品久久久久久久久久久久久久久| 欧洲黄色一级视频| www国产在线观看| 久久女同性恋中文字幕| 亚洲影影院av| 日韩乱码一区二区三区| 激情丁香综合| 久久久精品一区二区| 黄色在线观看av| 亚洲日本一区二区三区在线| 色欧美乱欧美15图片| 免费的av在线| 97电影在线看视频| 99精品国产99久久久久久白柏| 成人av电影天堂| 精品久久久久久久久久久久久久久久 | 九九国产精品视频| 57pao国产精品一区| 成年人av电影| 国产精品久久久久久久久久10秀| 亚洲美女中文字幕| 国产 xxxx| 久久九九精品视频| 欧美日韩成人一区| 麻豆传传媒久久久爱| 成年女人在线看片| 一区二区不卡在线播放 | 永久免费av无码网站性色av| 国产精品白丝av嫩草影院| 欧美精品18+| 日日躁夜夜躁aaaabbbb| 成人黄色图片网站| 在线欧美一区二区| 国产亚洲精品网站| 欧美裸体视频| 黄色一区二区三区| 精品无码国产一区二区三区av| av免费在线免费观看| 国产精品国产精品国产专区不蜜| 欧美一区二区三区在线免费观看| 四季av日韩精品一区| 成人免费毛片aaaaa**| 97久久天天综合色天天综合色hd| www.97av| 国产超碰在线一区| 国产精品免费在线| 国产 欧美 自拍| 成人免费视频播放| 国产中文一区二区| 水中色av综合| 久久精品一区二区三区不卡牛牛| 日本在线免费观看一区| 国产二区在线播放| 国产精品久久久久婷婷| 一区国产精品| caoporn97在线视频| 曰韩精品一区二区| 成人中文字幕在线播放| 午夜伦理福利在线| 日本高清免费不卡视频| 成人性生生活性生交12| а√天堂资源国产精品| 91麻豆精品久久久久蜜臀| 在线成人免费av| 一区二区三区在线免费看| 欧美精品一区二区久久婷婷| chinese麻豆新拍video| 国产精品免费99久久久| 综合国产在线视频| 久久久久亚洲av成人片| 午夜一级久久| 国产精品视频午夜| www.av黄色| 91在线观看免费网站| 日本电影亚洲天堂| 亚洲精品一区二区三区在线播放| 亚洲一区欧美| 欧美激情中文字幕在线| 国产又大又黄视频| 蜜臀av国产精品久久久久| 96国产粉嫩美女| 日韩永久免费视频| 国产欧美视频一区二区三区| 伊人久久在线观看| 中文字幕 在线观看| 欧美日韩综合在线| 精品久久久久久无码人妻| 夜夜春成人影院| 欧美另类老女人| 麻豆精品久久久久久久99蜜桃| 久久国产精品露脸对白| 国产精品美女黄网| 一广人看www在线观看免费视频| 一区二区三区国产豹纹内裤在线| 久章草在线视频| www欧美在线观看| 亚洲欧洲国产一区| 免费一级a毛片夜夜看| 日韩av在线发布| 国产经典一区二区三区| av资源网在线观看| 五月天国产精品| 91丨九色丨蝌蚪| 免费av一区二区三区四区| 欧美超级乱淫片喷水| 日本久久综合网| 国产·精品毛片| 亚洲精品一区二区三区四区五区| 182在线播放| 91精品国产丝袜白色高跟鞋| 国产熟妇久久777777| 好看的亚洲午夜视频在线| 国产又爽又黄的激情精品视频| 香蕉久久国产av一区二区| 一区二区三区欧美日韩| 亚洲一级片免费| 米奇777超碰欧美日韩亚洲| 欧美国产日韩视频| 一区二区不卡视频在线观看| 国产日韩欧美精品一区| 男人添女人下面高潮视频| av综合网页| 美女性感视频久久久| 中文字幕第99页| 国产日韩在线不卡| 久久婷婷国产精品| 妖精视频一区二区三区| 97精品伊人久久久大香线蕉| 亚洲av无码乱码在线观看性色| 中文字幕制服丝袜一区二区三区 | 成人女人免费毛片| 国产在线色视频| 色综合色狠狠综合色| 中文字幕三级电影| 伊人久久综合| 国产日韩欧美一区二区三区四区| 肉体视频在线| 日韩小视频在线观看专区| 黄色正能量网站| 亚洲制服少妇| 日本视频一区二区不卡| 少妇一区视频| 中文欧美日本在线资源| 亚洲成人av网址| 国产精品久久免费看| 中文字幕网av| 天天操综合网| 97se亚洲综合在线| 色老头在线观看| 亚洲国产精品国自产拍av秋霞| 国产午夜免费视频| 成年人国产精品| 免费在线激情视频| 欧美欧美黄在线二区| 国产精品久久999| 香蕉视频免费在线播放| 欧美美女一区二区在线观看| 成人在线观看高清| 国产99久久精品| 六月婷婷在线视频| 精品精品国产毛片在线看| 欧美精品生活片| 日本韩国免费观看| 色综合天天做天天爱| 日本在线观看网址| 国产成人亚洲综合色影视| 成熟丰满熟妇高潮xxxxx视频| 日韩在线黄色| 成人欧美在线观看 | 国产91精品网站| 69视频在线观看| 日韩视频在线一区二区| 欧美不卡视频在线观看| 亚洲国产精品二十页| 免费国偷自产拍精品视频| 日韩一区二区免费看| 视频一区二区综合| 午夜视频一区二区在线观看| 欧美最猛黑人xxxx黑人猛叫黄| av在线免费观看网站| 精品免费国产一区二区三区四区| 欧美日韩综合在线观看| 国产精品久久久一本精品| 国产乱国产乱老熟300部视频| 国产亚洲永久域名| 国产高清免费在线| 日韩美女精品| 亚洲xxxxx| 成人欧美大片| 欧美激情视频给我| av在线免费观看网站| 精品国产sm最大网站| 97人妻精品视频一区| 亚洲精品免费在线| 免费看黄色三级| 成人永久免费视频| 污视频网址在线观看| 免费视频一区二区三区在线观看| 特色特色大片在线| 不卡一区2区| 国产综合色一区二区三区| www.欧美| 国产精品久久网| 涩涩视频在线免费看| 久久成人精品视频| 91免费在线| 国产网站欧美日韩免费精品在线观看 | 校园春色综合网| 免费超爽大片黄| 久久久久国产| 亚洲精品中字| 久久超碰99| 精品国产乱码一区二区三区四区 | 亚洲欧洲国产日韩精品| 秋霞在线一区| 国产精品久久亚洲| 日韩欧美中文字幕一区二区三区| 国产精品久久久久久久9999| gay欧美网站| 欧美在线不卡区| 精品捆绑调教一区二区三区| 欧美精品在线播放| 日本成a人片在线观看| 夜夜嗨av一区二区三区免费区 | 91麻豆免费观看| 亚洲av永久无码精品| 国产a精品视频| 午夜诱惑痒痒网| 国产乱码精品一区二区三区av| 五月天av在线播放| 美国十次了思思久久精品导航 | 日韩专区视频网站| 国产精品自产拍高潮在线观看| 先锋欧美三级| 国产精品久久久久久久久| 成人精品三级| 国产欧美一区二区三区久久人妖| 欧美动物xxx| 日本一区二区三区四区视频| 国产精品专区免费| 国产成人精品综合| 日韩精品三区| 国产精品午夜视频| av日韩在线免费观看| 成人精品在线视频| www.豆豆成人网.com| 国产亚洲一区在线播放| 秋霞蜜臀av久久电影网免费| 蜜桃网站成人| 日韩av久操| 黑人巨大国产9丨视频| 欧美理论在线| 成人在线观看你懂的| 午夜亚洲伦理| 亚洲免费黄色录像| 国产成人欧美日韩在线电影| 少妇一级淫片免费放播放| 久久亚洲二区三区| 亚洲欧美卡通动漫| 一区二区三区视频在线看| 日韩三级免费看| 在线观看av不卡| 国产丰满果冻videossex| 337p日本欧洲亚洲大胆色噜噜| 欧美成熟毛茸茸| 久久久国产一区| 精品三级久久| 国产精品无码专区在线观看| 欧美专区一区| 欧美日韩最好看的视频| 99久久婷婷国产综合精品电影√| 青青在线免费观看| 久久午夜激情| 69久久精品无码一区二区 | 欧美88888| 亚洲午夜久久久久中文字幕久| 4438国产精品一区二区| 在线播放日韩导航| 五月天丁香视频| 久久精品一区中文字幕| 成人免费观看在线观看| 国产精品视频yy9099| www.久久东京| 亚洲日本欧美在线| 亚洲精品乱码| 一二三级黄色片| 久久日韩粉嫩一区二区三区| 人妻人人澡人人添人人爽| 婷婷六月综合网| 国产精品无码久久av| 亚洲免费人成在线视频观看| av毛片在线播放| 国产精品极品美女在线观看免费| 视频在线观看免费影院欧美meiju| 日本精品国语自产拍在线观看| 一级欧洲+日本+国产| 37pao成人国产永久免费视频| 国产毛片精品国产一区二区三区| 人体私拍套图hdxxxx| 亚洲视频在线一区| 青青艹在线观看| 亚洲精品国产精品国自产在线| 黄网址在线观看| 国产精品美女av| 色狠狠久久av综合| 91午夜在线观看| 国产一区二区三区av电影| www.日本高清视频| 欧美视频在线免费| 污视频在线免费| 欧美精品久久久久久久久| 在线免费观看亚洲| 亚洲人成人77777线观看| 国产精品日韩欧美一区| 日本美女视频网站| 亚洲免费在线观看| 中文字幕天堂在线| 亚洲一级黄色av| 亚洲www.| 日本成人看片网址| 免费在线日韩av| 国产又黄又粗又猛又爽的视频 | 久久精品综合网| 久久久久女人精品毛片九一 | 日本高清中文字幕在线| 国产精品久久久久av| 欧美丝袜丝交足nylons172| 97在线播放视频| 久久久不卡网国产精品二区| 天堂网av手机版| 精品视频www| 欧美羞羞视频| 视频一区不卡| 免费成人美女在线观看.| 无码人中文字幕| 欧美日韩国产不卡| 国产精品剧情| 4444kk亚洲人成电影在线| 欧美色一级片| 美女久久久久久久久| 欧美日韩免费在线| 男人的天堂在线免费视频| 国产精品精品久久久| 欧美激情欧美| 女王人厕视频2ⅴk| 亚洲成人tv网| 你懂的好爽在线观看| 国产精品久久久久999| 999久久久精品国产| 亚洲理论中文字幕| 亚洲一区二区三区自拍| 欧洲av在线播放| 日韩免费在线播放| 日韩www.| 深夜视频在线观看| 福利视频导航一区| 97最新国自产拍视频在线完整在线看| 国产在线观看91精品一区| 欧美精品观看| 波多野结衣av在线免费观看| 欧美中文字幕一区| 超碰公开在线| 久久久久国产精品视频| 久久午夜精品| 青青草手机在线观看| 亚洲娇小xxxx欧美娇小| 久久uomeier| 国产a级片免费看| 99久久国产综合精品色伊| 国产天堂第一区| 欧美大片免费观看在线观看网站推荐| 日韩黄色网络| 中文字幕精品一区二区三区在线| 亚洲自拍偷拍欧美| 阿v免费在线观看| 97在线中文字幕| 丝袜亚洲另类欧美| 久久久久成人片免费观看蜜芽| 精品一区二区电影| 久久精品九色| 老熟妇仑乱视频一区二区| 一区二区三区精密机械公司| 欧美18xxxxx| 99久久综合狠狠综合久久止| 男人的天堂亚洲| 91精品国产高清一区二区三蜜臀| 国产视频精品一区二区三区| 成人污污视频| 久久精品一区二| 一区二区高清视频在线观看| 午夜视频在线| 日本黑人久久| 99麻豆久久久国产精品免费 |