Support script arguments

This commit is contained in:
Dan Church 2021-06-29 14:54:58 -05:00
parent 191d91a1a8
commit 39a38de4d1
Signed by: h3xx
GPG Key ID: EA2BF379CD2CDBD0
1 changed files with 41 additions and 1 deletions

42
optipdf
View File

@ -12,6 +12,46 @@ cleanup() {
}
trap 'cleanup' EXIT
FILES=()
NO_MORE_FLAGS=0
for ARG; do
# Assume arguments that don't begin with a - are supposed to be files or other operands
if [[ $NO_MORE_FLAGS -eq 0 && $ARG = -* ]]; then
case "$ARG" in
--backup=*)
KEEP_BACKUP_SUFFIX=${ARG#*=}
;;
--no-backup)
KEEP_BACKUP_SUFFIX=
;;
--force|-f)
FORCE=1
;;
--no-force|--careful)
FORCE=0
;;
--lossy)
LOSSY=1
;;
--no-lossy)
LOSSY=0
;;
--)
NO_MORE_FLAGS=1
;;
*)
printf 'Unrecognized flag: %s\n' \
"$ARG" \
>&2
USAGE >&2
exit 2
;;
esac
else
FILES+=("$ARG")
fi
done
file_size() {
stat \
--format='%s' \
@ -149,7 +189,7 @@ fi
ERRORS=0
FREED_TOTAL=0
for FILE; do
for FILE in "${FILES[@]}"; do
rm -f -- "$TEMP"
BEGIN_FILESIZE=$(file_size "$FILE")