From f657b3e16438557d0cfb54a8c112d4943f7d7b13 Mon Sep 17 00:00:00 2001 From: Samruddhi Khandale Date: Wed, 22 Jun 2022 17:47:27 +0000 Subject: adding sudo_if --- src/ruby/install.sh | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/ruby/install.sh b/src/ruby/install.sh index c877840..f93253c 100644 --- a/src/ruby/install.sh +++ b/src/ruby/install.sh @@ -168,6 +168,16 @@ check_packages() { fi } +# Use sudo to run as non-root user is not already running +sudo_if() { + COMMAND="$*" + if [ "$(id -u)" -eq 0 ] && [ "$USERNAME" != "root" ]; then + su - "$USERNAME" -c "$COMMAND" + else + "$COMMAND" + fi +} + # Ensure apt is in non-interactive to avoid prompts export DEBIAN_FRONTEND=noninteractive @@ -241,7 +251,7 @@ if [ "${INSTALL_RUBY_TOOLS}" = "true" ]; then # Non-root user may not have "gem" in path when script is run and no ruby version # is installed by rvm, so handle this by using root's default gem in this case ROOT_GEM="$(which gem || echo "")" - su - ${USERNAME} -c ${ROOT_GEM} install ${DEFAULT_GEMS} + sudo_if ${ROOT_GEM} install ${DEFAULT_GEMS} fi # VS Code server usually first in the path, so silence annoying rvm warning (that does not apply) and then source it -- cgit v1.2.3