From a38fbd385c1e72195db750c3b8f0e7ccc2aa2bee Mon Sep 17 00:00:00 2001 From: Konano Date: Mon, 27 Nov 2023 13:29:26 +0800 Subject: [PATCH] Add support for configuring specific functions in init scripts --- init_priv.sh | 9 +++++++++ init_root.sh | 2 +- init_sudo.sh | 2 +- init_user.sh | 9 +++++++++ run.sh | 6 +++--- 5 files changed, 23 insertions(+), 5 deletions(-) diff --git a/init_priv.sh b/init_priv.sh index e3527e0..bf01ed2 100755 --- a/init_priv.sh +++ b/init_priv.sh @@ -196,6 +196,15 @@ configure_user_oom_killer() { # ============================================================ +if [ $# -ne 0 ]; then + for func in $@; do + declare -F configure_$func >/dev/null || continue + echo "Configuring $func..." + eval "configure_$func" + done + exit 0 +fi + configure_tuna configure_upgrade configure_install diff --git a/init_root.sh b/init_root.sh index 647e5f4..87cc8ff 100755 --- a/init_root.sh +++ b/init_root.sh @@ -9,7 +9,7 @@ fi # ============================================================ -. $scriptdir/init_priv.sh +. $scriptdir/init_priv.sh $@ # ============================================================ diff --git a/init_sudo.sh b/init_sudo.sh index bced45e..b5db62f 100755 --- a/init_sudo.sh +++ b/init_sudo.sh @@ -14,7 +14,7 @@ fi # ============================================================ -. $scriptdir/init_priv.sh +. $scriptdir/init_priv.sh $@ # ============================================================ diff --git a/init_user.sh b/init_user.sh index 8de6c00..3e49229 100755 --- a/init_user.sh +++ b/init_user.sh @@ -81,6 +81,15 @@ configure_nodejs() { update_file $scriptdir/files/ys-simple.zsh-theme ~/.oh-my-zsh/themes/ys-simple.zsh-theme update_authorized_keys +if [ $# -ne 0 ]; then + for func in $@; do + declare -F configure_$func >/dev/null || continue + echo "Configuring $func..." + eval "configure_$func" + done + exit 0 +fi + configure_ssh configure_ssh_keygen configure_git diff --git a/run.sh b/run.sh index 4001c5f..b2534f2 100755 --- a/run.sh +++ b/run.sh @@ -14,11 +14,11 @@ cd $scriptdir && git pull if [ "$(id -u)" -eq 0 ]; then echo "Running in root mode." - $scriptdir/init_root.sh + $scriptdir/init_root.sh $@ elif [ "$(sudo id -u)" -eq 0 ]; then echo "Running in sudo mode." - $scriptdir/init_sudo.sh + $scriptdir/init_sudo.sh $@ else echo "Running in user mode." - $scriptdir/init_user.sh + $scriptdir/init_user.sh $@ fi