refactor(lib): refactor take functions

This commit is contained in:
Marc Cornellà 2021-08-10 21:09:21 +02:00
parent c249288151
commit 7eeb1e193d
No known key found for this signature in database
GPG Key ID: 0314585E776A9C1B

View File

@ -41,26 +41,27 @@ function mkcd takedir() {
}
function takeurl() {
data=$(mktemp)
curl -L $1 > $data
tar xf $data
thedir=$(tar tf $data | head -1)
rm $data
cd $thedir
local data thedir
data="$(mktemp)"
curl -L "$1" > "$data"
tar xf "$data"
thedir="$(tar tf "$data" | head -1)"
rm "$data"
cd "$thedir"
}
function takegit() {
git clone $1
cd $(basename ${1%%.git})
git clone "$1"
cd "$(basename ${1%%.git})"
}
function take() {
if [[ $1 =~ ^(https?|ftp).*\.tar\.(gz|bz2|xz)$ ]]; then
takeurl $1
takeurl "$1"
elif [[ $1 =~ ^([A-Za-z0-9]\+@|https?|git|ssh|ftps?|rsync).*\.git/?$ ]]; then
takegit $1
takegit "$1"
else
takedir $1
takedir "$@"
fi
}