17

I have altered my ~/.profile file by adding the following:

PATH="/user/share/android-sdk-linux/tools:$PATH"

I then log off and log in again, but the path is not added to the $PATH environment variable. I am checking in terminal:

echo $PATH
/usr/share/android-sdk-linux/tools:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/lib/jvm/jdk1.7.0_17/bin

Please advise

Edit

I have even tried:

PATH=$PATH:/usr/share/android-sdk-linux/tools
EXPORT PATH

No luck here either.

Edit 2

~/.profile:

 # ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.

# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022

# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
    . "$HOME/.bashrc"
    fi
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

# set path to android
# PATH = $PATH:/usr/share/android-sdk-linux/tools
# EXPORT PATH

PATH="/usr/share/android-sdk-linux/tools:$PATH"

Adding to ~/.bachrc or /etc/environment:

PATH="/usr/share/android-sdk-linux/tools:$PATH"

works, but why not ~/.profile?

8
  • As a note, in 13.04 and later you can install android-tools-adb and android-tools-fastboot directly from Software Center to get adb and fastboot. It doesn't exactly answer your question, but since I recognized what you were doing I figured I'd leave a comment. Oct 14, 2013 at 19:20
  • If you want PATH for all users: read my answer. Oct 14, 2013 at 19:57
  • @PeppeDAlterio I want to add a custom path, not interdict. Oct 14, 2013 at 20:00
  • Do you mean a different PATH for each user? Oct 14, 2013 at 20:01
  • Right now I just want it to work for me. Oct 14, 2013 at 20:02

2 Answers 2

19

Don't use a space before or after = when you assign a value to a variable in bash. The right way is:

PATH="/user/share/android-sdk-linux/tools:$PATH"

For the changes to take effect, restart your computer or source your .profile file using the following command:

source ~/.profile

If you want to change the path for all users, add that line in /etc/profile file. Again a restart is required.

4
  • 1
    Removed spaces and quoted path verbatim as you have here and still does not so in echo. Oct 14, 2013 at 19:20
  • Can you pastebin the output of cat ~/.profile and echo $PATH? Oct 14, 2013 at 19:24
  • @AndroidAddict You need a restart or source your ~/.profile in terminal until restart: source ~/.profile Oct 14, 2013 at 19:30
  • Do not need to restart. It is enough to log in again. Dec 4, 2020 at 12:12
2

If I understood correctly you want to permanently change the value of the PATH envar.
In Ubuntu the PATH envar is defined inside the /etc/environment file. So you need to modify the PATH envar declaration inside that file, not inside the .profile!
Use this only if you want to change the PATH value for every users!

3
  • This is totally not indicated. What if there are more than one user on the system? Oct 14, 2013 at 19:40
  • Yep, you're right...I'm adding a "warning" to my answer. Thank you Oct 14, 2013 at 19:42
  • I do. That's intentional. Oct 14, 2013 at 19:44

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .