-
Notifications
You must be signed in to change notification settings - Fork 0
/
updownloader.sh
91 lines (59 loc) · 1.53 KB
/
updownloader.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#!/bin/bash
Info()
{
cat <<EOF
*UpDownLoader*
Description: Uploading and downloading files from the command line.
Usage: updowloader [flag] [args]
No Args - Upload a single file
-d Compress and Upload directory
-F Upload multiple files
Examples:
updownloader.sh /home/Mateusz/scrip1.sh
updownloader.sh -d /home/Mateusz/dumps
updownloader.sh 'file1.sh' 'file2.sh' 'file3.sh'
EOF
}
if ! [ $(command -v curl) ]
then
echo "curl is not installed!"
fi
if [ "$#" -eq 0 ]
then
Info
elif [ "$#" -eq 1 ]
then
if ! [ -f "$1" ]
then
echo "File not exist"!
else
basenamefile=$(basename $1)
curl -o /tmp/progress.tmp -# https://bashupload.com/$basenamefile --data-binary @/$1 && cat /tmp/progress.tmp && rm /tmp/progress.tmp
fi
elif [ "$#" -eq 2 ] && [ "$1" = "-d" ]
then
if ! [ -d "$2" ]
then
echo "Directory not exist"!
else
basenamedirectory=$(basename $2)
tar -czvf /tmp/$basenamedirectory.tgz -C $2 . && curl -o /tmp/progress.tmp -# https://bashupload.com/$basenamedirectory.tgz --data-binary @/tmp/$basenamedirectory.tgz && cat /tmp/progress.tmp && rm /tmp/progress.tmp || { echo Something went wrong!; }
rm -r /tmp/$basenamedirectory.tgz
fi
elif [ "$#" -eq 2 ]
then
Info
elif [ "$#" -gt 2 ]
then
for variable in "$@"
do
variable1="$(echo $variable | cut -d'=' -f 2)"
if ! [ -f "$variable1" ]
then
echo "File $variable1 not exist"
echo "Terminate executing the script"
exit 1
fi
done
curl https://bashupload.com/ -F $1 -F $2 -F $3 -F $4
fi