Skip to content

Instantly share code, notes, and snippets.

@mrmichalis
Last active December 17, 2015 19:38
Show Gist options
  • Save mrmichalis/5661438 to your computer and use it in GitHub Desktop.
Save mrmichalis/5661438 to your computer and use it in GitHub Desktop.
Manage your PATH with a nice, one-directory-per-line file, rather than a gargantuan blob of colon-delimited text. https://gist.github.com/willurd/5648907
# Read the contents of ~/.path into $PATH, if ~/.path exists. ~/.path should be a file
# consisting of one path on each line, such as:
#
# ~$ cat ~/.path
# # vim: ft=sh
# ~/usr/bin
# /opt/local/bin
# ... etc ...
#
# Note that comments begin with a hash (#).
#
# awk-fu courtesy of pickledspiders:
# http://www.reddit.com/r/linux/comments/1f1kd8/manage_your_path_with_a_nice_onedirectoryperline/ca5ww5d
# awk line fix courtesy of cpitchford:
# http://www.reddit.com/r/linux/comments/1f1kd8/manage_your_path_with_a_nice_onedirectoryperline/ca61un7
DOT_PATH_FILE="${DOT_PATH_FILE:-$HOME/.path}"
if [[ -e "$DOT_PATH_FILE" ]]; then
export PATH="$PATH:$(awk '/^[^#]/{printf "%s",(++x!=1?":":"")$0}' "$DOT_PATH_FILE")"
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment