Welcome To Golang By Example

Menu
  • Home
  • Blog
Menu

Understand /etc/paths file and /etc/paths.d directory on MAC

Posted on March 8, 2023March 8, 2023 by admin

MAC OS uses /etc/paths file and /etc/paths.d directory for setting up the value of PATH env varialb.e.  A utility path_helper is used to set the PATH env variable based on the content of /etc/paths file and content of files in /etc/paths.d directory. This is how you can run the path_helper

eval `/usr/libexec/path_helper -s`

Let’s see how these two play role in setting up the path

/etc/paths file

This file contains the paths that need to be set in PATH env variable. If I print the contents of this file on my MAC, it outputs

/ $ cat /etc/paths
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin

All the above paths are added to the PATH variable.

/etc/paths.d directory

This directory contains the list of files. Each of the files contains the path that needs to be added to the PATH variable. As a demonstration, If I install GO on my MAC using the .pkg installer for GO available here – https://golang.org/dl/.

Then after installation, it will create a  file named  ‘go’ in the ‘/etc/paths.d’ directory. Let’s output the contents of the file.

/ $ cat /etc/paths.d/go
/usr/local/go/bin

It outputs ‘/usr/local/go/bin’ and this path will be added to the PATH env variable.

Points to Note:

The primary reason that ‘/etc/paths.d’ directory is used because ‘/etc/paths’ will be modified and/or replaced by system upgrades while contents of ‘/etc/paths.d’ directory will never be affected by such changes.

Popular Articles

Golang Comprehensive Tutorial Series

All Design Patterns in Go (Golang)

Slice in golang

Variables in Go (Golang) – Complete Guide

OOP: Inheritance in GOLANG complete guide

Using Context Package in GO (Golang) – Complete Guide

All data types in Golang with examples

Understanding time and date in Go (Golang) – Complete Guide

©2023 Welcome To Golang By Example | Design: Web XP