以實例入門Linux shell

實例1 hello shell

創建並編輯腳本

創建腳本

touch helloshell.sh

腳本內容

#!/bin/bash
# 聲明使用的shell種類
echo "hello shell"
# 輸出 hello shell

爲腳本添加 x 權限

chmod +x helloshell.sh

執行腳本

./helloshell.sh

執行結果

在這裏插入圖片描述

詳解

  • 執行腳本,腳本要有 x 權限(即執行權限)
  • 要使用./ + 腳本名 。不加表示去PATH目錄下尋找,加上表示當前目錄下尋找

實例 maven 批量打包實例

腳本源碼

#!/bin/bash
# 首先獲取一下當前的工作目錄
presentPath=`pwd`
echo "當前目錄 $presentPath"

# 遍歷 需要打包的目錄
# 變量所有子目錄(僅僅遍歷目錄)子目錄下都有pom.xml

# 循環時 catalog 表示當前目錄名稱

for catalog in `ls ./ -F |grep "/$"`;do

# 進入 需要打包的目錄
cd $presentPath"/"$catalog

# 等待一秒,如果目錄沒有進入就,執行了打包,會報錯
sleep 1

# 執行打包
mvn package

# 結束 do 爲開始
done

# 再次遍歷 包打包完畢的jar包批量拷貝出去來
for catalog in `ls ./  -F |grep "/$"`;do
# 通過 find 命令匹配 打包的jar包
file_name=`find $presentPath"/"$catalog"target" -name "*.jar"`
echo "查詢到了jar包  :   $file_name "

# 通過cp命令 拷貝出jar打破指定目錄

cp -rf $file_name $presentPath"/jars/"

done

詳解

for 循環

for 循環 分割字符串默認爲 空白(是空白,不是空格)。

查詢子目錄(僅查詢目錄)

ls ./ -F |grep "/$"

grep 匹配了/ 目錄是有/的

變量聲明

presentPath=`pwd`

聲明瞭一個變量,當前路徑,並且 使用 pwd 命令獲取當前路徑,賦值給presentPath。
" ` "符號不是單引號,是鍵盤1 左邊的。

變量拼接

cd $presentPath"/"$catalog
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章