#!/bin/sh set -u if [ -n "${ZSH_VERSION:-}" ]; then # don't execute trap on return from functions setopt local_options posix_traps no_warn_create_global fi RESOURCE=idiotheke.de PASSWORD="$(pass $RESOURCE)" LOGIN="$(echo "$PASSWORD" | sed -rne 's/login: //p')" URL="$(echo "$PASSWORD" | sed -rne 's/url: //p')" PASSWORD="${PASSWORD%% *}" #first line only if [ -n "${1:-}" ]; then ASKPASS="$(tempfile --prefix=askpass --mode=700)" cleanup() { rm -f $ASKPASS; trap - 0; } trap cleanup 0 echo '#!/bin/sh' >> $ASKPASS echo "echo ${LOGIN}:${PASSWORD}" >> $ASKPASS wget --continue --use-askpass="$ASKPASS" "$@" cleanup ! command -v unfunction >/dev/null || unfunction cleanup else LFTP_PASSWORD="$PASSWORD" lftp -e "open -u $LOGIN --env-password $URL" fi unset RESOURCE LOGIN PASSWORD URL ASKPASS