小白也能操作Linux,十分鐘教你簡單的shell指令碼編寫邊學邊用
在剛入行軟體測試的時候,shell指令碼也就是了解這個概念,那會兒也基本用不到這個技能,工作做得最多的就是點點點。 加我VX:atstudy-js 回覆“測試”,進入 自動化測試學習交流群~~
Linux命令用多了,自然而然想到了shell指令碼,想要用它來解決一些工作中的重複操作,於是開始邊學邊用,效果還不錯。
工作場景:
我們測試的時候會把軟體包拷貝到管理平臺的軟體倉庫中,如果倉庫中有,就要覆蓋掉。
手動操作的流程是這樣的:
wget【url】:下載軟體包,壓縮包格式的;
tar -zxvf xxx.tar.gz:解壓軟體包到當前檔案;
進入到解壓好的檔案中,裡面有2個資料夾,然後依次拷貝,這裡使用scp命令,-r是遞迴目錄的意思。scp -r xxx/ /opt/xxx
這裡為啥沒用cp呢?因為我發現cp覆蓋時,老是提示我,需要我手動確認,太繁瑣了。所以這裡使用了scp命令,這個命令經常用於兩個伺服器之間遠端拷貝。
這個軟體包更換流程,做的次數多了也熟練和熟悉了,突然有一天,要告訴一個不懂linux命令的人,讓他去完成軟體包更換工作。這就有點難上加難了。想到了自己也經常做這個操作,也不想對別人進行小白教學,那就編寫個簡單的shell指令碼吧。
設計思路是這個的:
#!/bin/bash
#獲取當前時間
cur_date=`date +%Y%m%d-%H-%M`
tmp_dir=service_$cur_date
#根據時間,建立資料夾
mkdir $tmp_dir
cd $tmp_dir
echo "進入目錄:"$tmp_dir
#下載
echo "下載檔案到"$tmp_dir
wget $1
# 解壓
echo "正在解壓檔案"
sleep 3
tar -zxvf *.tar.gz
echo "解壓完成,開始刪除壓縮包"
rm -rf *.tar.gz
for i in `ls`
do
echo "軟體包的資料夾名:"$i
tmp_dir_package=$i
done
cd $tmp_dir_package
echo "進入包目錄:"$tmp_dir_package
echo "開始拷貝軟體包到ole軟體倉庫/opt/"
scp -r package/ /opt/
scp -r repository/ /opt/
echo "軟體包拷貝完成,別忘了去sole軟體倉庫重新整理啊!!!"
sleep 3
1將下載地址作為位置引數傳入指令碼
2根據當前時間,具體到分鐘吧,在指令碼所在檔案建立一個資料夾,名稱就用上那個時間,避免資料夾重名啥的
3進入這個資料夾,下載壓縮包
4解壓壓縮包,然後刪除壓縮包,為下一步做準備
5解壓後就一個資料夾,我們獲取一下這個資料夾名字,然後進去
6拷貝檔案,完成。
具體實現如下:
好了一個簡單的指令碼寫好了,指令碼知識點:
1、反引號的使用,反引號的作用就是將反引號內的Linux命令先執行,然後將執行結果賦予變數
2、位置引數的使用
3、建立資料夾、刪除、解壓、echo、sleep
4、scp拷貝,遠端拷貝
5、for迴圈
6、wget 下載
最後:
可以我的 個人V:atstudy-js,可以 免費領取一份10G軟體測試工程師面試寶典文件資料。以及相對應的視訊學習教程免費分享!,其中包括了有基礎知識、Linux必備、Mysql資料庫、抓包工具、介面測試工具、測試進階-Python程式設計、Web自動化測試、APP自動化測試、介面自動化測試、測試高階持續整合、測試架構開發測試框架、效能測試等。
這些測試資料,對於做【軟體測試】的朋友來說應該是最全面最完整的備戰倉庫,這個倉庫也陪伴我走過了最艱難的路程,希望也能幫助到你!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2848716/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [邊學邊練]用簡單例項學習React單例React
- 手把手教你編寫最簡單的效能指令碼指令碼
- 編寫shell指令碼的規範指令碼
- 如何編寫高效的 Shell 指令碼指令碼
- shell 指令碼如何編寫-致初學者指令碼
- Linux系統中Shell指令碼編寫的一點心得Linux指令碼
- 十分鐘學會用 Go 編寫 Web 中介軟體GoWeb
- 如何使用zx編寫shell指令碼指令碼
- 一個簡單的Linux啟動jar包的shell指令碼LinuxJAR指令碼
- 利用 Powershell 編寫簡單的瀏覽器指令碼瀏覽器指令碼
- 簡單的 Shell 指令碼入門教程指令碼
- 技能篇:shell教程及指令碼編寫指令碼
- ASP.NET CORE 邊學邊記之 SwaggerUI簡單配置ASP.NETSwaggerUI
- 簡單的Shell指令碼實戰演練,測試菜鳥也可以輕鬆學會指令碼
- Shell文字處理編寫單行指令的訣竅
- 寫一個簡單的 Linux Shell (C++)LinuxC++
- Linux Shell指令碼Linux指令碼
- 怎麼用python寫簡單的遊戲指令碼?Python遊戲指令碼
- ZIP 也能邊下載邊解壓?流式解壓技術揭秘!
- [20210107]編寫bash shell指令碼遇到的問題.txt指令碼
- Linux命令和shell指令碼學習Linux指令碼
- linux常用的shell指令碼Linux指令碼
- 邊寫 Javascript 程式碼邊玩遊戲 – WarriorJSJavaScript遊戲JS
- 邊學邊寫——母函式及其在中學數學競賽中的運用(一)函式
- 【shell 練習5】編寫簡單的多級選單
- shell 指令碼寫法:指令碼
- Kotlin邊用邊學:Inline Functions的適用場景KotlininlineFunction
- Shell:如何寫一個多選選單的指令碼指令碼
- Linux編寫Bash指令碼的10個技巧Linux指令碼
- 怎麼用Ai繪畫?小白一分鐘也能學會的詳細AI教程!AI
- Linux學習之路(三)Shell指令碼初探Linux指令碼
- 【學習】Linux Shell指令碼程式設計Linux指令碼程式設計
- linux shell指令碼中 =~ 的作用Linux指令碼
- 【人工智慧】雲邊融合的AI Cloud 不是簡單的“雲+邊”人工智慧AICloud
- Shell指令碼入門:編寫格式與執行方式指令碼
- thinkphp3.23寫的個人部落格,邊學邊改吧!PHP
- 教你如何編寫第一個簡單的爬蟲爬蟲
- linuxshell程式設計實戰-編寫簡單的指令碼實用工具Linux程式設計指令碼