Test to see if installed and if not, install it Okay all you Linux/shell folks out there. This is my first shell script (2nd if you count "Hello World") and would appreciate some feedback. 

Basically, I need to test whether htop is installed; if it is, then move on; if it is not, then install it. If the user is root then just do it, and if not, sudo and install it. I have "borrowed" code from here to stitch this together. It works in my test environment. I would like to know:

What did I miss? What other variables do I need to account for? Are there better ways to go about this?

if ! [ -x "$(command -v htop)" ]; then
    # set the var SUDO to "" (blank)
    SUDO=""
        # if the user ID is not 0 (root is 0)
        if [ $EUID != "0" ] ; then
        # set the var SUDO to "sudo"
        SUDO="sudo"
        fi
    # Let the user know it is not installed &amp; then install it, using sudo if not root
    echo 'Error: htop is not installed.' &amp;&amp; $SUDO apt install htop &gt;&amp;1
    # exit the script
    exit 0
fi
Overall it's fine. My suggestions would be:


Fix the indenting.
If you find the comments helpful, great. Otherwise, consider saying "why" and not "what", e.g. # set the var SUDO to "" (blank) -> # This will be used as a prefix to run a command as root
You can alternatively consider checking if the command exists by running it: if htop --version &gt; /dev/null 2&gt;&amp;1. This does not discriminate against aliases, functions and builtins.
Prefer user lowercase variable names to avoid conflicting with existing environment variables. SUDO="sudo" is ok since SUDO isn't in use, but if you had tried the same with PWD="pwd" or SHELL="sh" you could have gotten some odd side effects. 
Use echo 'Error: htop is not installed.' &gt;&amp;2 to write the error message to stderr
The &gt;&amp;1 aka 1&gt;&amp;1 is redundant: it just redirects the FD to where it's already going. 
It's generally considered rude to install packages without asking the user. A more canonical approach is to simply exit with an error saying that htop is missing and leave it to the user to install it (this also avoids tying the script to Ubuntu/Mint). 
If you continue when htop exists, why is the script exiting after installing htop? If it's to handle installation failures due to bad password or full disk, you should probably handle that explicitly.
You can use exit aka exit $? to exit with the status of the previous command, so that if the installation failed, you don't claim that the script ran successfully.