diff options
Diffstat (limited to 'bin/extra/transfer.sh')
-rwxr-xr-x | bin/extra/transfer.sh | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/bin/extra/transfer.sh b/bin/extra/transfer.sh new file mode 100755 index 0000000..e8c9480 --- /dev/null +++ b/bin/extra/transfer.sh @@ -0,0 +1,24 @@ +#!/bin/sh + +die () { >&2 printf '%s\n' "$@"; exit 1; } + +[ $# -eq 0 ] && + die 'No arguments specified.\nUsage:\n transfer <file|directory>\n ... | transfer <file_name>' + +if [ -t 0 ] +then + file="$1" + file_name="$(basename "$file")" + [ -e "$file" ] || + die "$file: No such file or directory\n" + if [ -d "$file" ] + then + file_name="$file_name".zip + (cd "$file" && zip -r -q - .) | curl --upload-file - "https://transfer.sh/$file_name" + else + curl --upload-file "$file" "https://transfer.sh/$file_name" + fi +else + file_name="$1" + curl --upload-file - "https://transfer.sh/$file_name" +fi |