在往圖床上丟圖片時惯疙,有時候總是因為圖片太大而要等很久的時間,面對這種情況壓縮圖片后再上傳是一個不錯的選擇妖啥。但是每次都要先打開圖片壓縮軟件霉颠,再丟圖片壓縮,再找到壓縮后的圖片荆虱,再上傳到圖床蒿偎,這一系列操作也是繁瑣。今天就來解決一下這個問題怀读。
很顯然腳本能夠幫助我們自動完成這些煩人的操作诉位。我們希望這個腳本能夠自動壓縮當(dāng)前文件夾的所有圖片,壓縮后將圖片轉(zhuǎn)移到另一個文件夾方便查找愿吹。
說干就干不从,lets go!
首先,我們需要安裝一個圖片壓縮軟件犁跪,這個圖片壓縮軟件要能支持命令行操作椿息,這里選擇ImageOptim: https://imageoptim.com ,到官網(wǎng)下載后安裝即可坷衍。
其次寝优,我們需要安裝ImageOptim-CLI,有了它就可以用命令行操作圖片壓縮軟件ImageOptim了枫耳。推薦使用npm安裝特別是M1芯片的Mac乏矾,打開終端輸入:
npm install -g imageoptim-cli
安裝完成后查看一下版本確定是否安裝成功:
imageoptim --version
3.0.7
最后,就是寫腳本了:目前我們只壓縮png迁杨,jpg钻心,jpeg,gif
隨便打開一個文本編輯器比如記事本铅协,拷貝下面的代碼并保存為 compress.sh
捷沸,保存路徑隨意這里為桌面。
#!/bin/bash
png="*.png"
jpg="*.jpg"
jpeg="*.jpeg"
gif="*.gif"
echo "目前只壓縮:"$png"狐史、"$jpg"痒给、"$jpeg"、"$gif""
echo "開始壓縮"
imageoptim $png $jpg $jpeg $gif
echo "完成壓縮"
echo "開始將圖片移到compressed文件夾"
mkdir -p compressed
for file in $(find . -maxdepth 1 -name "$png" -or -name "$jpg" -or -name "$jpeg" -or -name "$gif")
do
echo "移動文件:${file}"
mv ${file} compressed
done
echo "完成將圖片移到compressed文件夾"
腳本很簡單骏全,就是壓縮當(dāng)前文件夾里的png苍柏,jpg,jpeg姜贡,gif圖片试吁,然后將這些壓縮好的圖片轉(zhuǎn)移到compressed文件夾。當(dāng)然這個時候計算機還只是認為它是一個普通的文本文件楼咳。我們需要將它賦予可執(zhí)行屬性:
cd ~/Desktop
chmod +x compress.sh
這樣compress.sh就變?yōu)橐粋€可執(zhí)行文件了熄捍。
最后測試一下效果吧_
在桌面創(chuàng)建一個文件夾pictureStorage律秃,將compress.sh拖入到該文件夾里,再準(zhǔn)備幾張圖片也放入到該文件夾里治唤。
[圖片上傳失敗...(image-4c4ef9-1655625699028)]
執(zhí)行:
cd ~/Desktop/pictureStorage
./compress.sh
就可看到打印日志:
目前只壓縮:*.png、*.jpg糙申、*.jpeg宾添、*.gif
開始壓縮
Running ImageOptim...
? 疑問.png was: 223kB now: 180kB saving: 43.3kB (19.44%)
? v2-ae634956702d53f64862c9fe58691e7d_1440w.jpg was: 22.3kB now: 5.39kB saving: 16.9kB (75.86%)
? 王境澤1.gif was: 1.02MB now: 935kB saving: 85.4kB (8.37%)
? TOTAL was: 1.27MB now: 1.12MB saving: 146kB (11.51%)
? Finished
完成壓縮
開始將圖片移到compressed文件夾
移動文件:./疑問.png
移動文件:./王境澤1.gif
移動文件:./v2-ae634956702d53f64862c9fe58691e7d_1440w.jpg
完成將圖片移到compressed文件夾
[圖片上傳失敗...(image-a71594-1655625699029)]
三張圖片一共減少了146kB,還是可以的柜裸。
以后你就只需要將圖片丟到pictureStorage文件夾缕陕,然后執(zhí)行 ./compress.sh
腳本就可以了!完全不需要打開ImageOptim疙挺,一張張選了扛邑。真是安全又方便!