summaryrefslogtreecommitdiff
path: root/bin/extra/transfer.sh
blob: e8c9480e7582c43f10be7bba60a167521454bab0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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