nerd-fonts/bin/scripts/docker-entrypoint.sh
Fini Jastrow 1fccd8a63e docker: Allow blancs in filenames
[why]
The script does not allow blanks in the font filenames.
There are also some shell warnings when run.

[how]
Simplify and always use `parallel` to run the job, even when the user
selects just one job. The problem is deciding if the passed PN is the
number one or not. We do not want to fail, but the numeric comparison
operator fails on non numbers (sometimes).

Use null termination as usual to pass filenames with blanks from a find
into something else.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-02-05 16:24:08 +01:00

35 lines
697 B
Bash

#!/bin/sh
set -e
args=""
# check all args for --out or -o
while [ "$#" -gt 0 ]; do
if [ "$1" = "-out" ] || [ "$1" = "--outputdir" ];then
# move past the option
shift
# and the value if there is one
case "$1" in
-*) continue ;;
*) shift $(( $# > 0 ? 1 : 0 )) ;;
esac
continue
fi
args="$args $1"
shift
done
if [ -z "$PN" ]; then
PN=1
fi
printf "Running with options:\n%s\nParallelism %s\n" "$args" "$PN"
# shellcheck disable=SC2086
find /in -type f \
\( -iname '*.otf' -o -iname '*.ttf' -o -iname '*.woff' -o -iname '*.eot' -o -iname '*.ttc' \) \
-print0 \
| parallel --verbose --null "--jobs=${PN}" fontforge -script /nerd/font-patcher -out /out $args {}
exit 0