解壓多個 .zip、.gz 或 .bz2
.zip
for file in *.zip; do unzip "${file}"; done
.gz
gunzip *.gz
.bz2
bunzip2 *.bz2
tar.gz
for file in *.tar.gz; do tar zxf "${file}"; done
tar.bz2
for file in *.tar.bz2; do tar jxf "${file}"; done
指命腳本用法
如果你在一個可處理不同壓縮檔數量的腳本內使用上包含 for 迴圈的指令,你可能會想在指命殼中設定啟用 nullglobs。舉個例說,當沒有吻合的檔案時,*.tar.gz 這個通配符一般會被評估為 *.tar.gz,而不是空白字串。由於這個原因,tar 會以這串字作為參數去執行。要避免這個情況,請如此要求指命殼使用 nullglobs:
shopt -s nullglob
假若找不到配對,指命殼將會傳回空白字串,而 for 迴圈亦會中止。
Translation of revision 7