Adding folders to your PATH environment variable

27,905

The steps are:

  1. Open a terminal with the keyboard command Ctrl + Alt + T

  2. Open ~/.bashrc in gedit:

    gedit ~/.bashrc
    
  3. Add this line to the file:

    export PATH="[path_to_ndless]/ndless-sdk/toolchain/install/bin:[path_to_ndless]/ndless-sdk/bin:${PATH}"  
    

    Here the [path_to_ndless] is simply the path to where you droped the ndless-sdk folder when you installed it. Remove that placeholder text and replace it with that path value. Say you placed that git repo in /home/georgek/ndless then your path to add into ~/.bashrc would be:

    export PATH="/home/georgek/ndless-sdk/toolchain/install/bin:/home/georgek/ndless-sdk/bin:${PATH}"
    
  4. Save the file and close gedit.

  5. Now to get your environmental variables you just added to show in your currently opened terminal run the command:

     source ~/.bashrc
    

Please note several things:

  • This ~/ means /home/$USER, where $USER mean your username, mine being georgek.
  • So I could have also written /home/georgek/.bashrc
Share:
27,905

Related videos on Youtube

Nicholas Cousar
Author by

Nicholas Cousar

Updated on September 18, 2022

Comments

  • Nicholas Cousar
    Nicholas Cousar almost 2 years

    Currently running Ubuntu 18.04 LTS. I'm trying to install Ndless and the SDK that goes with it so I can write programs in C and run them on my calculator. Anyways, I was wondering if somebody could explain the following step from the installation guide.

    enter image description here

    I am not very familiar with environment variables, but I assume

    [path_to_ndless] is just a placeholder and you aren't meant to literally assign that to whatever export PATH is. My question then is, are you supposed to create the path then and there, or was it already created by running SDK's build_toolchain.sh script? If it's the latter, how do you see what the path is?

    This is what my .bashrc file looks like. There is a single PATH variable at the bottom. Am I supposed to edit that specific variable with the required ndless folders, or do I create a new variable below it?

    # ~/.bashrc: executed by bash(1) for non-login shells.
    # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
    # for examples
    
    # If not running interactively, don't do anything
    case $- in
        *i*) ;;
          *) return;;
    esac
    
    # don't put duplicate lines or lines starting with space in the history.
    # See bash(1) for more options
    HISTCONTROL=ignoreboth
    
    # append to the history file, don't overwrite it
    shopt -s histappend
    
    # for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
    HISTSIZE=1000
    HISTFILESIZE=2000
    
    # check the window size after each command and, if necessary,
    # update the values of LINES and COLUMNS.
    shopt -s checkwinsize
    
    # If set, the pattern "**" used in a pathname expansion context will
    # match all files and zero or more directories and subdirectories.
    #shopt -s globstar
    
    # make less more friendly for non-text input files, see lesspipe(1)
    [ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
    
    # set variable identifying the chroot you work in (used in the prompt below)
    if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
        debian_chroot=$(cat /etc/debian_chroot)
    fi
    
    # set a fancy prompt (non-color, unless we know we "want" color)
    case "$TERM" in
        xterm-color|*-256color) color_prompt=yes;;
    esac
    
    # uncomment for a colored prompt, if the terminal has the capability; turned
    # off by default to not distract the user: the focus in a terminal window
    # should be on the output of commands, not on the prompt
    #force_color_prompt=yes
    
    if [ -n "$force_color_prompt" ]; then
        if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
        # We have color support; assume it's compliant with Ecma-48
        # (ISO/IEC-6429). (Lack of such support is extremely rare, and such
        # a case would tend to support setf rather than setaf.)
        color_prompt=yes
        else
        color_prompt=
        fi
    fi
    
    if [ "$color_prompt" = yes ]; then
        PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
    else
        PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
    fi
    unset color_prompt force_color_prompt
    
    # If this is an xterm set the title to user@host:dir
    case "$TERM" in
    xterm*|rxvt*)
        PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
        ;;
    *)
        ;;
    esac
    
    # enable color support of ls and also add handy aliases
    if [ -x /usr/bin/dircolors ]; then
        test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
        alias ls='ls --color=auto'
        #alias dir='dir --color=auto'
        #alias vdir='vdir --color=auto'
    
        alias grep='grep --color=auto'
        alias fgrep='fgrep --color=auto'
        alias egrep='egrep --color=auto'
    fi
    
    # colored GCC warnings and errors
    #export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
    
    # some more ls aliases
    alias ll='ls -alF'
    alias la='ls -A'
    alias l='ls -CF'
    
    # Add an "alert" alias for long running commands.  Use like so:
    #   sleep 10; alert
    alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
    
    # Alias definitions.
    # You may want to put all your additions into a separate file like
    # ~/.bash_aliases, instead of adding them here directly.
    # See /usr/share/doc/bash-doc/examples in the bash-doc package.
    
    if [ -f ~/.bash_aliases ]; then
        . ~/.bash_aliases
    fi
    
    # enable programmable completion features (you don't need to enable
    # this, if it's already enabled in /etc/bash.bashrc and /etc/profile
    # sources /etc/bash.bashrc).
    if ! shopt -oq posix; then
      if [ -f /usr/share/bash-completion/bash_completion ]; then
        . /usr/share/bash-completion/bash_completion
      elif [ -f /etc/bash_completion ]; then
        . /etc/bash_completion
      fi
    fi
    
    
    
    
    # Private binaries
    export PATH=$PATH:~/.bin
    
  • Nicholas Cousar
    Nicholas Cousar over 5 years
    Do I need to add a separate PATH variable or do I just edit the one at the bottom underneath the line that says # Private binaries ?
  • Nicholas Cousar
    Nicholas Cousar over 5 years
    Also, would this work? export PATH="/home/nicholas/Ndless/ndless-sdk/toolchain/install/bin‌​:/home/nicholas/Ndle‌​ss/ndless-sdk/toolch‌​ain/../bin:${PATH} It's not the same as the prototype in the tutorial, but I got a terminal message after running the build_toolchain.sh script that said "don't forget to add these files to your environment variables", and they were in this format.
  • George Udosen
    George Udosen over 5 years
    Please add it undér that line you referred to and source the file.