From 82df63f47ba50b05397870705c591c1be7e4e4cc Mon Sep 17 00:00:00 2001 From: Guten Date: Mon, 30 May 2011 15:06:43 +0800 Subject: [PATCH 1/4] add autosudo plugin --- plugins/autosudo/autosudo.plugin.zsh | 49 ++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 plugins/autosudo/autosudo.plugin.zsh diff --git a/plugins/autosudo/autosudo.plugin.zsh b/plugins/autosudo/autosudo.plugin.zsh new file mode 100644 index 000000000..e22a5b095 --- /dev/null +++ b/plugins/autosudo/autosudo.plugin.zsh @@ -0,0 +1,49 @@ +alias s = "sudo" + +[ $(id -u) != 0 ] && sudo="sudo" || sudo="" + +function pacman() { + case $1 in + -S | -S[^sih]* | -R* | -U*) $sudo pacman $* ;; + * ) command pacman $* ;; + esac +} + +function clyde() { + case $1 in + -S | -S[^sih]* | -R* | -U*) $sudo clyde $* ;; + * ) command clyde $* ;; + esac +} + +function pip() { + case $1 in + install | uninstall ) $sudo pip $* ;; + *) command pip $* ;; + esac +} + +function npm() { + case $1 in + install | uninstall ) $sudo npm $* ;; + *) command npm $* ;; + esac +} + +function mount() { + case $i in + "" ) command mount ;; + * ) $sudo mount $* ;; + esac +} +alias umount="$sudo umount" + +alias dhdpcd="$sudo dhcpcd" +alias netcfg="$sudo netcfg" + +alias halt="$sudo halt" +alias reboot="$sudo reboot" + +alias easy_install="$sudo easy_install" + +alias pppoe-connect="$sudo pppoe-connect" From 04ec2f024f744ccfb5b1bcabcf94644741b44ef0 Mon Sep 17 00:00:00 2001 From: Guten Date: Mon, 30 May 2011 16:37:17 +0800 Subject: [PATCH 2/4] improve autosudo plugin --- plugins/autosudo/autosudo.plugin.zsh | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/plugins/autosudo/autosudo.plugin.zsh b/plugins/autosudo/autosudo.plugin.zsh index e22a5b095..c04114463 100644 --- a/plugins/autosudo/autosudo.plugin.zsh +++ b/plugins/autosudo/autosudo.plugin.zsh @@ -1,31 +1,31 @@ -alias s = "sudo" +[ $(id -u) -eq 0 ] && return -[ $(id -u) != 0 ] && sudo="sudo" || sudo="" +alias s="sudo" function pacman() { case $1 in - -S | -S[^sih]* | -R* | -U*) $sudo pacman $* ;; + -S | -S[^sih]* | -R* | -U*) sudo pacman $* ;; * ) command pacman $* ;; esac } function clyde() { case $1 in - -S | -S[^sih]* | -R* | -U*) $sudo clyde $* ;; + -S | -S[^sih]* | -R* | -U*) sudo clyde $* ;; * ) command clyde $* ;; esac } function pip() { case $1 in - install | uninstall ) $sudo pip $* ;; + install | uninstall ) sudo pip $* ;; *) command pip $* ;; esac } function npm() { case $1 in - install | uninstall ) $sudo npm $* ;; + install | uninstall ) sudo npm $* ;; *) command npm $* ;; esac } @@ -33,17 +33,17 @@ function npm() { function mount() { case $i in "" ) command mount ;; - * ) $sudo mount $* ;; + * ) sudo mount $* ;; esac } -alias umount="$sudo umount" +alias umount="sudo umount" -alias dhdpcd="$sudo dhcpcd" -alias netcfg="$sudo netcfg" +alias dhdpcd="sudo dhcpcd" +alias netcfg="sudo netcfg" -alias halt="$sudo halt" -alias reboot="$sudo reboot" +alias halt="sudo halt" +alias reboot="sudo reboot" -alias easy_install="$sudo easy_install" +alias easy_install="sudo easy_install" -alias pppoe-connect="$sudo pppoe-connect" +alias pppoe-connect="sudo pppoe-connect" From c890c7ea0d1123a21812aefbb469035041a45756 Mon Sep 17 00:00:00 2001 From: Guten Date: Tue, 31 May 2011 08:51:38 +0800 Subject: [PATCH 3/4] [autosudo plugin] fix pip at virtual_env --- plugins/autosudo/README.md | 8 ++++++++ plugins/autosudo/autosudo.plugin.zsh | 13 +++++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) create mode 100644 plugins/autosudo/README.md diff --git a/plugins/autosudo/README.md b/plugins/autosudo/README.md new file mode 100644 index 000000000..aa0ccd00b --- /dev/null +++ b/plugins/autosudo/README.md @@ -0,0 +1,8 @@ + +Development +============ + +1. virtual_env pip +if virtual env path is writeable by user (e.g. $HOME), not need sudo. +export VIRTURL_ENV="path" + diff --git a/plugins/autosudo/autosudo.plugin.zsh b/plugins/autosudo/autosudo.plugin.zsh index c04114463..e4bd76f06 100644 --- a/plugins/autosudo/autosudo.plugin.zsh +++ b/plugins/autosudo/autosudo.plugin.zsh @@ -16,11 +16,16 @@ function clyde() { esac } +# special: virtual_env function pip() { - case $1 in - install | uninstall ) sudo pip $* ;; - *) command pip $* ;; - esac + if [[ -n ${VIRTUAL_ENV+1} && -w $VIRTUAL_ENV ]] ; then + command pip $* + else + case $1 in + install | uninstall ) sudo pip $* ;; + *) command pip $* ;; + esac + fi } function npm() { From ba76e0a70c99cfdec9740df31583af84405cab28 Mon Sep 17 00:00:00 2001 From: Guten Date: Wed, 1 Jun 2011 16:17:16 +0800 Subject: [PATCH 4/4] [auto plugin] remove sudo alias --- plugins/autosudo/autosudo.plugin.zsh | 2 -- 1 file changed, 2 deletions(-) diff --git a/plugins/autosudo/autosudo.plugin.zsh b/plugins/autosudo/autosudo.plugin.zsh index e4bd76f06..192c2a2fb 100644 --- a/plugins/autosudo/autosudo.plugin.zsh +++ b/plugins/autosudo/autosudo.plugin.zsh @@ -1,7 +1,5 @@ [ $(id -u) -eq 0 ] && return -alias s="sudo" - function pacman() { case $1 in -S | -S[^sih]* | -R* | -U*) sudo pacman $* ;;