1
0
Fork 0
mirror of https://github.com/ohmyzsh/ohmyzsh.git synced 2024-11-12 08:50:08 +00:00

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