]>
Commit | Line | Data |
---|---|---|
7fa03a9c MF |
1 | #!/bin/bash |
2 | ||
3 | usage() { | |
4 | cat <<EOF | |
5 | Usage: imgcrush [options] <files> | |
6 | EOF | |
7 | exit ${1:-0} | |
8 | } | |
9 | ||
10 | crush_jpg() { | |
11 | jpegoptim "$1" | |
12 | } | |
13 | ||
14 | crush_png() { | |
15 | # apngopt likes to corrupt images. | |
16 | pngcrush -e .png.new "$1" | |
17 | mv "${png}.new" "${png}" | |
18 | } | |
19 | ||
20 | crush() { | |
21 | case $1 in | |
22 | *.jpg|*.jpeg) crush_jpg "$1" ;; | |
23 | *.png) crush_png "$1" ;; | |
a91ff5e1 | 24 | *) echo "${0##*/}: unsupported format: $1" >&2 ;; |
7fa03a9c MF |
25 | esac |
26 | } | |
27 | ||
28 | main() { | |
29 | set -e | |
30 | ||
31 | while [[ $# -ne 0 ]] ; do | |
32 | case $1 in | |
33 | -h) usage ;; | |
34 | -*) usage 1 ;; | |
a91ff5e1 | 35 | *) crush "$1"; shift ;; |
7fa03a9c MF |
36 | esac |
37 | done | |
38 | } | |
39 | main "$@" |