33 lines
532 B
Bash
Executable File
33 lines
532 B
Bash
Executable File
#!/usr/bin/env sh
|
|
|
|
cache_dir="${TMPDIR:-/tmp}/nsxiv"
|
|
|
|
die() {
|
|
[ -n "$1" ] && printf '%s\n' "$*" >&2
|
|
exit 1
|
|
}
|
|
|
|
cleanup() {
|
|
rm -f -- "$cache_dir"/*
|
|
}
|
|
|
|
get_image() (
|
|
cd "$cache_dir" && curl -sSLO "$1"
|
|
)
|
|
|
|
### main ###
|
|
|
|
[ -z "$1" ] && die "No arguments given"
|
|
trap cleanup EXIT
|
|
[ -d "$cache_dir" ] || mkdir -p -- "$cache_dir" || die
|
|
while [ -n "$1" ]; do
|
|
case "$1" in
|
|
*://*.*) get_image "$1" ;;
|
|
*) echo "Invalid url: $1" >&2 ;;
|
|
esac
|
|
shift
|
|
done
|
|
|
|
[ "$(find "$cache_dir" -type f -print | wc -l)" -ne 0 ] &&
|
|
nsxiv -ap "$cache_dir"
|