This repository has been archived by the owner on Feb 16, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
inc.func.sh
83 lines (75 loc) · 2.21 KB
/
inc.func.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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# Functions
#-----------------------------------------------------------------------------
displayTitle() {
displayMessage "------------------------------------------------------------------------------"
displayMessage "$*"
displayMessage "------------------------------------------------------------------------------"
}
displayMessage() {
echo "$*"
}
displayError() {
displayMessage "$*" >&2
}
# First parameter: ERROR CODE
# Second parameter: MESSAGE
displayErrorAndExit() {
local exitcode=$1
shift
displayError "$*"
exit $exitcode
}
# First parameter: MESSAGE
# Others parameters: COMMAND (! not |)
displayAndExec() {
local message=$1
echo -n "[En cours] $message"
shift
echo ">>> $*" >> $LOG_FILE 2>&1
sh -c "$*" >> $LOG_FILE 2>&1
local ret=$?
if [ $ret -ne 0 ]; then
echo -e "\r\e[0;31m [ERROR]\e[0m $message"
else
echo -e "\r\e[0;32m [OK]\e[0m $message"
fi
return $ret
}
compress2TarXZ() {
XZ_OP=-3 tar -Jcvf $1.tar.xz $1
}
downloadFile() {
_file=$1;
displayAndExec "\\ Downloading file. " "wget --content-disposition ${_file} -P SRC/"
}
function extract {
if [ -z "$1" ]; then
# display usage if no parameters given
displayErrorAndExit "Usage: extract <path/file_name>.<zip|rar|bz2|gz|tar|tbz2|tgz|Z|7z|xz|ex|tar.bz2|tar.gz|tar.xz>"
else
if [ -f "$1" ] ; then
NAME=${1%.*}
#mkdir $NAME && cd $NAME
case "$1" in
*.tar.bz2) tar xjf ./"$1" ;;
*.tar.gz) tar xzf ./"$1" ;;
*.tar.xz) tar xJf ./"$1" ;;
*.lzma) unlzma ./"$1" ;;
*.bz2) bunzip2 ./"$1" ;;
*.rar) unrar x -ad ./"$1" ;;
*.gz) gunzip ./"$1" ;;
*.tar) tar xf ./"$1" ;;
*.tbz2) tar xjf ./"$1" ;;
*.tgz) tar xzf ./"$1" ;;
*.zip) unzip ./"$1" ;;
*.Z) uncompress ./"$1" ;;
*.7z) 7z x ./"$1" ;;
*.xz) unxz ./"$1" ;;
*.exe) cabextract ./"$1" ;;
*) displayError "extract: '$1' - unknown archive method" ;;
esac
else
displayError "'$1' - file does not exist"
fi
fi
}