aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordylan.araps@gmail.com <dylan.araps@gmail.com>2020-01-30 07:50:17 +0000
committerdylan.araps@gmail.com <dylan.araps@gmail.com>2020-01-30 07:50:17 +0000
commit61647abe7e0b7a26eb4db06ea13f78ee9bc71f5c (patch)
treea024e770b9421cbc46de673ebb8b5644f6ba1a58
parent95272845a5b7e3e677e09fe2b8428a842b783249 (diff)
downloadcpt-61647abe7e0b7a26eb4db06ea13f78ee9bc71f5c.tar.gz
kiss: as_root: Move to func
FossilOrigin-Name: 48264c5ea24e824e4c77bb405191f13ef4f072528817ad328445068ec3ac2fb2
-rwxr-xr-xkiss28
1 files changed, 13 insertions, 15 deletions
diff --git a/kiss b/kiss
index 0323e00..69e2d05 100755
--- a/kiss
+++ b/kiss
@@ -49,13 +49,17 @@ prompt() {
}
as_root() {
- if command -v sudo >/dev/null; then
- sudo -E KISS_FORCE="$KISS_FORCE" "$@"
- elif command -v doas >/dev/null; then
- KISS_FORCE="$KISS_FORCE" doas "$@"
- else
- su -pc "KISS_FORCE=$KISS_FORCE $*"
- fi
+ [ "$(id -u)" = 0 ] || {
+ if command -v sudo >/dev/null; then
+ sudo -E KISS_FORCE="$KISS_FORCE" "$@"
+ elif command -v doas >/dev/null; then
+ KISS_FORCE="$KISS_FORCE" doas "$@"
+ else
+ su -pc "KISS_FORCE=$KISS_FORCE $*"
+ fi
+
+ exit
+ }
}
regex_escape() {
@@ -1153,10 +1157,7 @@ args() {
a|alternatives)
# Rerun the script with 'su' if the user isn't root.
# Cheeky but 'su' can't be used on shell functions themselves.
- [ -z "$1" ] || [ "$(id -u)" = 0 ] || {
- as_root kiss "$action" "$@"
- return
- }
+ [ -z "$1" ] || as_root kiss "$action" "$@"
;;
i|install|r|remove)
@@ -1164,10 +1165,7 @@ args() {
# Rerun the script with 'su' if the user isn't root.
# Cheeky but 'su' can't be used on shell functions themselves.
- [ "$(id -u)" = 0 ] || {
- as_root kiss "$action" "$@"
- return
- }
+ as_root kiss "$action" "$@"
;;
esac