解压多个 .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