From 05adc7c537f50c96be493a5d6d0d30260cde0218 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Sun, 12 Aug 2018 16:16:51 +0200 Subject: [PATCH] local/bin/transfer: Add support for multiple files --- .local/bin/transfer | 69 ++++++++++++++++++++------------------------- 1 file changed, 31 insertions(+), 38 deletions(-) diff --git a/.local/bin/transfer b/.local/bin/transfer index 4d47685d..34561404 100755 --- a/.local/bin/transfer +++ b/.local/bin/transfer @@ -1,12 +1,7 @@ #!/bin/sh ## Adapted from https://gist.github.com/nl5887/a511f172d3fb3cd0e42d. - -# -# Defines transfer alias and provides easy command line file and folder sharing. -# -# Authors: -# Remco Verhoef -# +## Original author: +## Remco Verhoef curl --version 2>&1 > /dev/null if [ $? -ne 0 ]; then @@ -14,53 +9,51 @@ if [ $? -ne 0 ]; then exit 1 fi -# check arguments -if [ $# -eq 0 ]; -then +if [ $# -eq 0 ]; then cat<> $zipfile - curl --progress-bar --upload-file "$zipfile" "https://transfer.sh/$basefile.zip" >> $tmpfile - rm -f $zipfile - else - # transfer file - curl --progress-bar --upload-file "$file" "https://transfer.sh/$basefile" >> $tmpfile - fi + if [ -d "$file" ]; then + # zip directory and transfer + zipfile=$( mktemp -t transferXXX.zip ) + cd $(dirname $file) && zip -r -q - $(basename $file) > $zipfile + curl --progress-bar --upload-file "$zipfile" "https://transfer.sh/$basefile.zip" > $tmpfile + rm -f $zipfile + else + # transfer file + curl --progress-bar --upload-file "$file" "https://transfer.sh/$basefile" > $tmpfile + # cat output link + out="$out +$(cat $tmpfile)" + fi + done + echo "$out" else # transfer pipe curl --progress-bar --upload-file "-" "https://transfer.sh/$file" >> $tmpfile + # cat output link + cat $tmpfile + echo fi -# cat output link -cat $tmpfile -echo - # cleanup rm -f $tmpfile