Run non-rooted commands



This content originally appeared on DEV Community and was authored by Jaipal001

On linux based some commands that you install without root like brew packages and you sometimes need to run them with sudo for that, I made this script

#!/bin/bash

secure_path=("/usr/local/sbin" "/usr/local/bin" "/usr/sbin" "/usr/bin" "/sbin/bin" "/snap/bin") # snap for ubuntu based

if [[ ! $(which $1) ]]; then
    $@  # if does not exist, run them and get error of command not exist and get exit 1
    exit 1 # just in case program moves to next line, exit 1
fi
global_found=
# some would say just do sudo $@ but what if after exitting the app/command, it return a non-0 status? so we better do this
for item in "${secure_path[@]}"; do
    # if found stop
    if [[ $(which $1) == $item/$1 ]]; then
        echo exist $item/$1
        global_found=1
        break
    fi
done
if [[ ! $global_found ]]; then
    sudo -E $(which $1) $(echo $@ | sed 's/'$1' //') # trim 1st argument of our script
else
    sudo $@ # $@ means all bash script arguments
fi


This content originally appeared on DEV Community and was authored by Jaipal001