mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-11-17 11:20:09 +00:00
feat(take): add support to `take' for taking remote urls (#2029)
Download, extract, and cd into the resulting directory. Co-authored-by: Mitchel Humpherys <mitchelh@codeaurora.org>
This commit is contained in:
parent
a3d90624df
commit
f68d65d32a
1 changed files with 25 additions and 1 deletions
|
@ -13,7 +13,7 @@ function upgrade_oh_my_zsh() {
|
||||||
omz update
|
omz update
|
||||||
}
|
}
|
||||||
|
|
||||||
function take() {
|
function takedir() {
|
||||||
mkdir -p $@ && cd ${@:$#}
|
mkdir -p $@ && cd ${@:$#}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -37,6 +37,30 @@ function open_command() {
|
||||||
${=open_cmd} "$@" &>/dev/null
|
${=open_cmd} "$@" &>/dev/null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function takeurl() {
|
||||||
|
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})
|
||||||
|
}
|
||||||
|
|
||||||
|
function take() {
|
||||||
|
if [[ $1 =~ ^(https?|ftp).*\.tar\.(gz|bz2|xz)$ ]]; then
|
||||||
|
takeurl $1
|
||||||
|
elif [[ $1 =~ ^([A-Za-z0-9]\+@|https?|git|ssh|ftps?|rsync).*\.git/?$ ]]; then
|
||||||
|
takegit $1
|
||||||
|
else
|
||||||
|
takedir $1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
# Get the value of an alias.
|
# Get the value of an alias.
|
||||||
#
|
#
|
||||||
|
|
Loading…
Reference in a new issue