当我使用涂抹过滤器从存储库导出它们(使用git archive)时,我想优化png文件。但是,如果我理解正确,这些过滤器只能通过STDIN和STDOUT工作,而pngcrush需要一个“真实”文件。
有没有解决方法?
答案 0 :(得分:1)
使用临时文件。例如:
IN=$(mktemp)
OUT=$(mktemp)
# save stdin to temp file
cat > "$IN"
# Crush the image and ignore regular output.
# Die if pngcrush fails.
pngcrush "$IN" "$OUT" > /dev/null || exit $?
# write temp file to stdout
cat "$OUT"
# clean up
rm "$IN" "$OUT" &