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?

Braiam
  • 66,947
  • 30
  • 177
  • 264
Roy Hinkley
  • 507
  • 2
  • 7
  • 16
  • 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. – Ian Santopietro Oct 14 '13 at 19:20
  • If you want PATH for all users: read my answer. – PeppeDAlterio Oct 14 '13 at 19:57
  • @PeppeDAlterio I want to add a custom path, not interdict. – Roy Hinkley Oct 14 '13 at 20:00
  • Do you mean a different PATH for each user? – PeppeDAlterio Oct 14 '13 at 20:01
  • Right now I just want it to work for me. – Roy Hinkley Oct 14 '13 at 20:02
  • @AndroidAddict I edited your question because I based my answer on your original question. From your **Edit 2** someone can understand that you you turned that thing. Also, and I edited my answer after your edits. – Radu Rădeanu Oct 14 '13 at 20:10
  • adding an "export PATH" at the end of `.profile` should work as well – PeppeDAlterio Oct 14 '13 at 20:16
  • There is lies the problem. You can see from my post that I do add it to the end of the ~/.profile file and log-off/on and still no path update. It however does work by adding it to ~/.bashrc. That's why I am confused - it should be working because there is neither ~/.bash_profile or ~/.bash_login – Roy Hinkley Oct 14 '13 at 20:31

2 Answers2

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.

wjandrea
  • 14,109
  • 4
  • 48
  • 98
Radu Rădeanu
  • 166,822
  • 48
  • 327
  • 400
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!

PeppeDAlterio
  • 5,642
  • 1
  • 15
  • 10