最近在go的專案里,用到了mod,但目錄太多了,有時有的依賴用了后來又廢棄了,后來發現go.sum go.mod檔案內容好大,了解到go mod tidy可以完成完成檢測依賴添加移除作業,于是就執行了,但目錄太多了,真的很麻煩,于是乎,寫了個shell腳本來批量做這個事...
chmod +x tidy.sh
./tidy.sh

#!/usr/bin/env bash
###########################################################
#Author:mengdj@outlook.com
#Created Time:2020.12.04 11:56
#Description:execute go mod tidy in current directory
#Version:0.0.2
#File:tidy.sh
###########################################################
CURRENT_DIR=$(pwd)
SEARCH_DIR=$CURRENT_DIR
SEARCH_TOTAL=0
EXECUTE_CMD="go mod tidy"
function GoTidy() {
for file in $(ls $1); do
local target="$1/$file"
if [ -d $target ]; then
cd $target
#case
if [ -f "go.mod" ];then
`$EXECUTE_CMD`
if [ $? -ne 0 ]; then
break
fi
echo "process $target"
let "SEARCH_TOTAL+=1"
fi
GoTidy $target
fi
done
}
#test
if [ $# -ne 0 ]; then
if [ -d $1 ]; then
cd $1
SEARCH_DIR=$(pwd)
else
echo "$1 is not exist directory."
exit
fi
fi
#start
GoTidy $SEARCH_DIR
echo "processed($SEARCH_TOTAL)."
#back directory
cd $CURRENT_DIR
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/230662.html
標籤:其他
上一篇:Centos7安裝svn服務
