From bbc3a00e90a33ca512b77c52c37c67131728bd26 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Tue, 12 Jul 2016 09:33:51 +0200 Subject: sudo neu --- update-all.in | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) (limited to 'update-all.in') diff --git a/update-all.in b/update-all.in index ab8dcf9..fd1d72a 100644 --- a/update-all.in +++ b/update-all.in @@ -1,14 +1,17 @@ #!/bin/bash -declare -A updateCmd +# update-all version #VERSION# -updateCmd["arch"]="pacman -Syu && pacdiff" -updateCmd["crux"]="ports -u && prt-get sysup && rejmerge" -updateCmd["debian"]="aptitude update && aptitude safe-upgrade && aptitude dist-upgrade" +declare -A updateCmds +declare -A hasSudo + +updateCmds["arch"]="pacman -Syu;pacdiff" +updateCmds["crux"]="ports -u;prt-get sysup;rejmerge" +updateCmds["debian"]="aptitude update;aptitude safe-upgrade;aptitude dist-upgrade" . #ETCDIR#/update-all.conf -for systemTyp in "${!updateCmd[@]}" +for systemTyp in "${!updateCmds[@]}" do eval "system=(\${${systemTyp}Systems[@]})" for s in "${system[@]}" @@ -19,6 +22,13 @@ do else conCmd="ssh -t -t $s" fi - urxvt -e ${conCmd} "hostname; su -c \"${updateCmd["${systemTyp}"]}\"" & + uCmd="${updateCmds["${systemTyp}"]}" + if [ -n "${hasSudo["${s}"]}" ] + then + uCmd="sudo ${uCmd//;/ && sudo }" + else + uCmd="su -c \"${uCmd//;/ && }\"" + fi + urxvt -e ${conCmd} "hostname; ${uCmd}" & done done -- cgit v1.2.3-54-g00ecf