mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-11-22 22:06:09 +08: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
|
@ -13,7 +13,7 @@ function upgrade_oh_my_zsh() {
|
|||
omz update
|
||||
}
|
||||
|
||||
function take() {
|
||||
function takedir() {
|
||||
mkdir -p $@ && cd ${@:$#}
|
||||
}
|
||||
|
||||
|
@ -37,6 +37,30 @@ function open_command() {
|
|||
${=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.
|
||||
#
|
||||
|
|
Loading…
Reference in New Issue
Block a user