What is the difference between “echo $PATH” and /etc/paths?
Clash Royale CLAN TAG#URR8PPP
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
When I echo $PATH I get this: Users/myusername/.node_modules_global/bin:/Users/mac/.node_modules_global/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/mac/Library/Android/sdk/platform-tools:/platform-tools
.
I want to remove some paths from this, but when I open the file using the command vim /etc/paths
, I get the following results:
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
Is the file /etc/paths different from the $PATH variable?
osx path
add a comment |
When I echo $PATH I get this: Users/myusername/.node_modules_global/bin:/Users/mac/.node_modules_global/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/mac/Library/Android/sdk/platform-tools:/platform-tools
.
I want to remove some paths from this, but when I open the file using the command vim /etc/paths
, I get the following results:
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
Is the file /etc/paths different from the $PATH variable?
osx path
Which version of OS X? I don't have/etc/paths
in mine, but I'm running10.4.11
and things have probably changed since then
– Fox
Apr 8 '17 at 0:52
1
But according to an answer on AskDifferent,/etc/paths
is used to generate the default$PATH
, which you can later modify
– Fox
Apr 8 '17 at 0:57
It's the default. By the time user starts their shell, though, it would be modified by other files that shell sources, like~/.bashrc
or~/.profile
– Sergiy Kolodyazhnyy
Sep 14 '18 at 17:38
add a comment |
When I echo $PATH I get this: Users/myusername/.node_modules_global/bin:/Users/mac/.node_modules_global/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/mac/Library/Android/sdk/platform-tools:/platform-tools
.
I want to remove some paths from this, but when I open the file using the command vim /etc/paths
, I get the following results:
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
Is the file /etc/paths different from the $PATH variable?
osx path
When I echo $PATH I get this: Users/myusername/.node_modules_global/bin:/Users/mac/.node_modules_global/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/mac/Library/Android/sdk/platform-tools:/platform-tools
.
I want to remove some paths from this, but when I open the file using the command vim /etc/paths
, I get the following results:
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
Is the file /etc/paths different from the $PATH variable?
osx path
osx path
edited Sep 14 '18 at 17:09
Jeff Schaller♦
44.7k1163145
44.7k1163145
asked Apr 8 '17 at 0:10
level0level0
3113
3113
Which version of OS X? I don't have/etc/paths
in mine, but I'm running10.4.11
and things have probably changed since then
– Fox
Apr 8 '17 at 0:52
1
But according to an answer on AskDifferent,/etc/paths
is used to generate the default$PATH
, which you can later modify
– Fox
Apr 8 '17 at 0:57
It's the default. By the time user starts their shell, though, it would be modified by other files that shell sources, like~/.bashrc
or~/.profile
– Sergiy Kolodyazhnyy
Sep 14 '18 at 17:38
add a comment |
Which version of OS X? I don't have/etc/paths
in mine, but I'm running10.4.11
and things have probably changed since then
– Fox
Apr 8 '17 at 0:52
1
But according to an answer on AskDifferent,/etc/paths
is used to generate the default$PATH
, which you can later modify
– Fox
Apr 8 '17 at 0:57
It's the default. By the time user starts their shell, though, it would be modified by other files that shell sources, like~/.bashrc
or~/.profile
– Sergiy Kolodyazhnyy
Sep 14 '18 at 17:38
Which version of OS X? I don't have
/etc/paths
in mine, but I'm running 10.4.11
and things have probably changed since then– Fox
Apr 8 '17 at 0:52
Which version of OS X? I don't have
/etc/paths
in mine, but I'm running 10.4.11
and things have probably changed since then– Fox
Apr 8 '17 at 0:52
1
1
But according to an answer on AskDifferent,
/etc/paths
is used to generate the default $PATH
, which you can later modify– Fox
Apr 8 '17 at 0:57
But according to an answer on AskDifferent,
/etc/paths
is used to generate the default $PATH
, which you can later modify– Fox
Apr 8 '17 at 0:57
It's the default. By the time user starts their shell, though, it would be modified by other files that shell sources, like
~/.bashrc
or ~/.profile
– Sergiy Kolodyazhnyy
Sep 14 '18 at 17:38
It's the default. By the time user starts their shell, though, it would be modified by other files that shell sources, like
~/.bashrc
or ~/.profile
– Sergiy Kolodyazhnyy
Sep 14 '18 at 17:38
add a comment |
2 Answers
2
active
oldest
votes
/etc/paths
is part of what's used to set up $PATH
for shell processes. When you open a new Terminal window, it starts bash
, which runs several startup scripts: /etc/profile
AND ~/.bash_profile
OR (if that doesn't exist) ~/.bash_login
OR (if that doesn't exist either) ~/.profile
. These scripts set up the shell environment, including $PATH
.
One of the things /etc/profile
does is run /usr/libexec/path_helper
, which reads /etc/paths
and any files in /etc/paths.d
, and adds their contents to $PATH
. But this is just a starting point; your own startup script (if any exist) can add to $PATH
, edit it, replace it completely, etc.
It looks to me like your startup script (and/or things it runs) is adding a number of entries to the basic set it gets from /etc/paths
. "Users/myusername/.node_modules_global/bin:/Users/mac/.node_modules_global/bin:" is added to the beginning of $PATH
(meaning those directories will be searched first), and ":/Users/mac/Library/Android/sdk/platform-tools:/platform-tools" is added at the end. If you want to know exactly what's adding them, you need to look at your startup script.
BTW, this process for setting up $PATH
only applies to bash "login" shells. Anything run by a bash shell will inherit $PATH
from it, so probably have essentially the same thing. bash non-login shells follow a somewhat different setup process. Other shells, and things not started from a shell at all (e.g. cron jobs) may have completely different $PATHs
.
add a comment |
First places I'd look to check for modifications are,
~/.profile
~/.bashrc
~/.bash_profile
If you're using something that's not Bash, check the configuration files for it to see any mention of PATH.
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "106"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f356688%2fwhat-is-the-difference-between-echo-path-and-etc-paths%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
/etc/paths
is part of what's used to set up $PATH
for shell processes. When you open a new Terminal window, it starts bash
, which runs several startup scripts: /etc/profile
AND ~/.bash_profile
OR (if that doesn't exist) ~/.bash_login
OR (if that doesn't exist either) ~/.profile
. These scripts set up the shell environment, including $PATH
.
One of the things /etc/profile
does is run /usr/libexec/path_helper
, which reads /etc/paths
and any files in /etc/paths.d
, and adds their contents to $PATH
. But this is just a starting point; your own startup script (if any exist) can add to $PATH
, edit it, replace it completely, etc.
It looks to me like your startup script (and/or things it runs) is adding a number of entries to the basic set it gets from /etc/paths
. "Users/myusername/.node_modules_global/bin:/Users/mac/.node_modules_global/bin:" is added to the beginning of $PATH
(meaning those directories will be searched first), and ":/Users/mac/Library/Android/sdk/platform-tools:/platform-tools" is added at the end. If you want to know exactly what's adding them, you need to look at your startup script.
BTW, this process for setting up $PATH
only applies to bash "login" shells. Anything run by a bash shell will inherit $PATH
from it, so probably have essentially the same thing. bash non-login shells follow a somewhat different setup process. Other shells, and things not started from a shell at all (e.g. cron jobs) may have completely different $PATHs
.
add a comment |
/etc/paths
is part of what's used to set up $PATH
for shell processes. When you open a new Terminal window, it starts bash
, which runs several startup scripts: /etc/profile
AND ~/.bash_profile
OR (if that doesn't exist) ~/.bash_login
OR (if that doesn't exist either) ~/.profile
. These scripts set up the shell environment, including $PATH
.
One of the things /etc/profile
does is run /usr/libexec/path_helper
, which reads /etc/paths
and any files in /etc/paths.d
, and adds their contents to $PATH
. But this is just a starting point; your own startup script (if any exist) can add to $PATH
, edit it, replace it completely, etc.
It looks to me like your startup script (and/or things it runs) is adding a number of entries to the basic set it gets from /etc/paths
. "Users/myusername/.node_modules_global/bin:/Users/mac/.node_modules_global/bin:" is added to the beginning of $PATH
(meaning those directories will be searched first), and ":/Users/mac/Library/Android/sdk/platform-tools:/platform-tools" is added at the end. If you want to know exactly what's adding them, you need to look at your startup script.
BTW, this process for setting up $PATH
only applies to bash "login" shells. Anything run by a bash shell will inherit $PATH
from it, so probably have essentially the same thing. bash non-login shells follow a somewhat different setup process. Other shells, and things not started from a shell at all (e.g. cron jobs) may have completely different $PATHs
.
add a comment |
/etc/paths
is part of what's used to set up $PATH
for shell processes. When you open a new Terminal window, it starts bash
, which runs several startup scripts: /etc/profile
AND ~/.bash_profile
OR (if that doesn't exist) ~/.bash_login
OR (if that doesn't exist either) ~/.profile
. These scripts set up the shell environment, including $PATH
.
One of the things /etc/profile
does is run /usr/libexec/path_helper
, which reads /etc/paths
and any files in /etc/paths.d
, and adds their contents to $PATH
. But this is just a starting point; your own startup script (if any exist) can add to $PATH
, edit it, replace it completely, etc.
It looks to me like your startup script (and/or things it runs) is adding a number of entries to the basic set it gets from /etc/paths
. "Users/myusername/.node_modules_global/bin:/Users/mac/.node_modules_global/bin:" is added to the beginning of $PATH
(meaning those directories will be searched first), and ":/Users/mac/Library/Android/sdk/platform-tools:/platform-tools" is added at the end. If you want to know exactly what's adding them, you need to look at your startup script.
BTW, this process for setting up $PATH
only applies to bash "login" shells. Anything run by a bash shell will inherit $PATH
from it, so probably have essentially the same thing. bash non-login shells follow a somewhat different setup process. Other shells, and things not started from a shell at all (e.g. cron jobs) may have completely different $PATHs
.
/etc/paths
is part of what's used to set up $PATH
for shell processes. When you open a new Terminal window, it starts bash
, which runs several startup scripts: /etc/profile
AND ~/.bash_profile
OR (if that doesn't exist) ~/.bash_login
OR (if that doesn't exist either) ~/.profile
. These scripts set up the shell environment, including $PATH
.
One of the things /etc/profile
does is run /usr/libexec/path_helper
, which reads /etc/paths
and any files in /etc/paths.d
, and adds their contents to $PATH
. But this is just a starting point; your own startup script (if any exist) can add to $PATH
, edit it, replace it completely, etc.
It looks to me like your startup script (and/or things it runs) is adding a number of entries to the basic set it gets from /etc/paths
. "Users/myusername/.node_modules_global/bin:/Users/mac/.node_modules_global/bin:" is added to the beginning of $PATH
(meaning those directories will be searched first), and ":/Users/mac/Library/Android/sdk/platform-tools:/platform-tools" is added at the end. If you want to know exactly what's adding them, you need to look at your startup script.
BTW, this process for setting up $PATH
only applies to bash "login" shells. Anything run by a bash shell will inherit $PATH
from it, so probably have essentially the same thing. bash non-login shells follow a somewhat different setup process. Other shells, and things not started from a shell at all (e.g. cron jobs) may have completely different $PATHs
.
edited Mar 10 at 7:19
DawnSong
1033
1033
answered Apr 8 '17 at 6:03
Gordon DavissonGordon Davisson
1,33366
1,33366
add a comment |
add a comment |
First places I'd look to check for modifications are,
~/.profile
~/.bashrc
~/.bash_profile
If you're using something that's not Bash, check the configuration files for it to see any mention of PATH.
add a comment |
First places I'd look to check for modifications are,
~/.profile
~/.bashrc
~/.bash_profile
If you're using something that's not Bash, check the configuration files for it to see any mention of PATH.
add a comment |
First places I'd look to check for modifications are,
~/.profile
~/.bashrc
~/.bash_profile
If you're using something that's not Bash, check the configuration files for it to see any mention of PATH.
First places I'd look to check for modifications are,
~/.profile
~/.bashrc
~/.bash_profile
If you're using something that's not Bash, check the configuration files for it to see any mention of PATH.
answered Apr 8 '17 at 5:19
rovr138rovr138
1663
1663
add a comment |
add a comment |
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f356688%2fwhat-is-the-difference-between-echo-path-and-etc-paths%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Which version of OS X? I don't have
/etc/paths
in mine, but I'm running10.4.11
and things have probably changed since then– Fox
Apr 8 '17 at 0:52
1
But according to an answer on AskDifferent,
/etc/paths
is used to generate the default$PATH
, which you can later modify– Fox
Apr 8 '17 at 0:57
It's the default. By the time user starts their shell, though, it would be modified by other files that shell sources, like
~/.bashrc
or~/.profile
– Sergiy Kolodyazhnyy
Sep 14 '18 at 17:38