實例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