“流式”操作,客官请看:
➜ buildTmpTool pwd
/Users/likewendy/Documents/GO/src/buildTmpTool
➜ buildTmpTool ls
CONTRIBUTING.md autoBuild.sh codereview.cfg go gopls playground
LICENSE benchmark container go.mod imports present
PATENTS blog copyright go.sum internal refactor
README.md cmd cover godoc newDir txtar
➜ buildTmpTool find . -name main.go | grep -v test #排除testdata那种文件夹
./cmd/present/main.go
./cmd/fiximports/main.go
./cmd/gorename/main.go
./cmd/guru/main.go
./cmd/toolstash/main.go
./cmd/compilebench/main.go
./cmd/ssadump/main.go
./cmd/godoc/main.go
./cmd/bundle/main.go
./cmd/gomvpkg/main.go
./cmd/present2md/main.go
./cmd/file2fuzz/main.go
./cmd/callgraph/main.go
./cmd/getgo/server/main.go
./cmd/getgo/main.go
./go/gcexportdata/main.go
./go/analysis/unitchecker/main.go
./go/analysis/passes/ifaceassert/cmd/ifaceassert/main.go
./go/analysis/passes/findcall/cmd/findcall/main.go
./go/analysis/passes/shadow/cmd/shadow/main.go
./go/analysis/passes/lostcancel/cmd/lostcancel/main.go
./go/analysis/passes/unmarshal/cmd/unmarshal/main.go
./go/analysis/passes/stringintconv/cmd/stringintconv/main.go
./go/analysis/passes/nilness/cmd/nilness/main.go
./go/analysis/passes/fieldalignment/cmd/fieldalignment/main.go
./go/packages/gopackages/main.go
./gopls/internal/lsp/protocol/generate/main.go
./gopls/main.go
➜ buildTmpTool touch autoBuild.sh
➜ buildTmpTool vim autoBuild.sh
#!/bin/bash
workDir=$(pwd)
mkdir newDir
path=(
"./cmd/present"
"./cmd/fiximports"
"./cmd/gorename"
"./cmd/guru"
"./cmd/toolstash"
"./cmd/compilebench"
"./cmd/ssadump"
"./cmd/godoc"
"./cmd/bundle"
"./cmd/gomvpkg"
"./cmd/present2md"
"./cmd/file2fuzz"
"./cmd/callgraph"
"./cmd/getgo/server"
"./cmd/getgo"
"./gopls"
)
for i in ${path[@]}
do
cd $i
go build -o $(basename $(pwd))
cp $(basename $(pwd)) $workDir/newDir
cd $workDir
done
ls $workDir/newDir
➜ buildTmpTool ./autoBuild.sh
bundle fiximports gopls present2md
callgraph getgo gorename server
compilebench godoc guru ssadump
file2fuzz gomvpkg present toolstash
➜ buildTmpTool echo "大功告成"
大功告成
➜ buildTmpTool