Coolest Guides on the Planet

coolest guides on the planet

Coolest Guides On The Planet

Neil Gee

  • Home
  • macOS
  • WebDev
  • All Posts
  • Contact

How to Add to the Shell Path in macOS Catalina 10.5 using Terminal

October 19, 2019 Leave a Comment

osx-modify-shell-path

The shell path for a user in macOS is a set of paths in the filing system whereby the user has permissions to use certain applications, commands and programs without the need to specify the full path to that command or program in the Terminal.

So instead of running something like this, with a path to the command:

/usr/local/mysql/bin/mysql

You can just type the command, regardless of where you are in the filing system:

mysql

Your shell path is a bunch of absolute paths of the filing system separated by colons :

You can find out whats in your path by launching Terminal in Applications/Utilities and entering:

echo $PATH

And the result should be like this…

/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

So this is stating that you can run Unix style applications or commands located in 5 default locations of a certain path in the filing system:

  • /usr/local/bin
  • /usr/bin
  • /bin
  • /usr/sbin
  • /sbin

These directories are not visible by default in the filing system but you can make them visible.

Adding a Temporary Location

You can add extra locations to your path, in the mysql example above it’s location /usr/local/mysql/bin which is not in the default path, you can add it in Terminal like so:

PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/mysql/bin

So here I have copied my existing path and added the new location on the end, colon separate the paths. Test it by running echo $PATH again in the Terminal.

One of the disadvantages of this is that the new location will only be honored for that particular Terminal session, when a new Terminal window is launched it will have the original default path again.

 Adding in a Permanent Location

To make the new path stick permanently you need to create a .zsh file in your home directory and set the path there. This file control various Terminal environment preferences including the path.

In macOS Catalina the default shell is Zsh (previously it was the Bash Shell).

cd

Move into home directory

nano .zsh

Create the .zsh file with a command line editor called nano

export PATH=/usr/local/mysql/bin:$PATH

Add in the above line which declares the new location /usr/local/mysql/bin as well as the original path declared as $PATH.

osx- shell path-modify

Save the file in nano by clicking ‘control’ +’o’ and confirming the name of the file is .zsh by hitting return. And the ‘control’+’x’ to exit nano – also for zsh shell remove any surrounding quotes.

 

So now when the Terminal is relaunched or a new window made and you check the the path by

echo $PATH

You will get the new path at the front followed by the default path locations, all the time

/usr/local/mysql/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

Rearranging the default $PATH

If you needed to rearrange the paths in the default $PATH variable, you can just do that and leave off $PATH.

So lets say you want /use/local/bin at the beginning to take precedence you can add the default path like so inside .zsh

export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

And then you can slot in other paths as required.

Cats: macOS Tags: terminal

The Ultimate Managed Hosting Platform

Subscribe

Coolest Guides on the Planet

Tags

3gs 10.6 apache backup baseband Bing boot clean urls Coolest Guy on the Planet cpanel css custom database drupal el capitan git Google image instadmg ios iphone jailbreak keys lion mac macos mojave macos sierra menu mysql OSX panda php phpmyadmin private public redirect remote rsa SEO shell ssh terminal unstoppables urls Yahoo
Load WooCommerce Stores in 249ms!
Beaver Builder Ultimate Addons

Donate a Beer to the Coolest Guides

Get Beaver Builder Now!
Load WordPress Sites in as fast as 37ms!

Copyright © 2021· Neil Gee - All Rights Reserved - Hosted by Runcloud

Copyright © 2021 · gee on Genesis Framework · WordPress · Log in