tft每日頭條

 > 圖文

 > linux常用命令與shell腳本編程

linux常用命令與shell腳本編程

圖文 更新时间:2024-07-30 19:13:09

在剛入行軟件測試的時候,shell腳本也就是了解這個概念,那會兒也基本用不到這個技能,工作做得最多的就是點點點。

linux常用命令與shell腳本編程(十分鐘教你簡單的shell腳本編寫邊學邊用)1

現在由于所處行業的關系吧,經常要在linux服務器做些常見操作。遇到不會的就百度,也慢慢地學了一些之前沒有接觸過的linux 命令,也開始看shell腳本的書籍,看過沒有實戰沒有練習,也就存在一個概念。

Linux命令用多了,自然而然想到了shell腳本,想要用它來解決一些工作中的重複操作,于是開始邊學邊用,效果還不錯。

工作場景:

我們測試的時候會把軟件包拷貝到管理平台的軟件倉庫中,如果倉庫中有,就要覆蓋掉。

手動操作的流程是這樣的:

wget【url】:下載軟件包,壓縮包格式的;

tar -zxvf xxx.tar.gz:解壓軟件包到當前文件;

進入到解壓好的文件中,裡面有2個文件夾,然後依次拷貝,這裡使用scp命令,-r是遞歸目錄的意思。scp -r xxx/ /opt/xxx

這裡為啥沒用cp呢?因為我發現cp覆蓋時,老是提示我,需要我手動确認,太繁瑣了。所以這裡使用了scp命令,這個命令經常用于兩個服務器之間遠程拷貝。

linux常用命令與shell腳本編程(十分鐘教你簡單的shell腳本編寫邊學邊用)2

這個軟件包更換流程,做的次數多了也熟練和熟悉了,突然有一天,要告訴一個不懂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拷貝文件,完成。

具體實現如下:

linux常用命令與shell腳本編程(十分鐘教你簡單的shell腳本編寫邊學邊用)3

好了一個簡單的腳本寫好了,腳本知識點:

1、反引号的使用,反引号的作用就是将反引号内的Linux命令先執行,然後将執行結果賦予變量

2、位置參數的使用

3、創建文件夾、删除、解壓、echo、sleep

4、scp拷貝,遠程拷貝

5、for循環

6、wget 下載

最後:

1)關注 私信回複:“測試”,可以免費領取一份10G軟件測試工程師面試寶典文檔資料。以及相對應的視頻學習教程免費分享!,其中包括了有基礎知識、Linux必備、Mysql數據庫、抓包工具、接口測試工具、測試進階-Python編程、Web自動化測試、APP自動化測試、接口自動化測試、測試高級持續集成、測試架構開發測試框架、性能測試等。

2)關注 私信回複:"入群" 就可以邀請你進入軟件測試群學習交流~~

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved