首页 > 解决方案 > Gzip 使用文件和目录的短路径

问题描述

我正在gz构建目录中创建所有静态文件dist

gzip -fkqr ./dist/*.html ./dist/*.css ./dist/*.js ./dist/css/*.css ./dist/js/*.js 2>/dev/null

这里f--forcek--keepq--quietr--recursive。可以缩短路径吗?我试过这个但没有工作。

gzip -fkqr ./dist/*.{html,css,js} ./dist/{css,js}/*.{css,js} 2>/dev/null

的输出shopt | grep glob

dotglob         off
extglob         off
failglob        off
globasciiranges off
globstar        off
nocaseglob      off
nullglob        off

的输出echo $-

himBHs

标签: bashshellconsolecompressiongzip

解决方案


您的解决方案会生成比您想要的更多的条目。

$ echo gzip -fkqr ./dist/*.html ./dist/*.css ./dist/*.js ./dist/css/*.css ./dist/js/*.js 2>/dev/null
gzip -fkqr ./dist/*.html ./dist/*.css ./dist/*.js ./dist/css/*.css ./dist/js/*.js
$ echo gzip -fkqr ./dist/*.{html,css,js} ./dist/{css,js}/*.{css,js} 2>/dev/null
gzip -fkqr ./dist/*.html ./dist/*.css ./dist/*.js ./dist/css/*.css ./dist/css/*.js ./dist/js/*.css ./dist/js/*.js 
                                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

我猜你看不到那种信息的gzip失败,因为你是故意的。no such file or directory2>/dev/null

我猜你想要:

 gzip -fkqr ./dist/*.{html,css,js} ./dist/{css/*.css,js/*.js} 

或者可能:

 gzip -fkqr ./dist/{*.{html,css,js},css/*.css,js/*.js}

推荐阅读