微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

CentOS 7上的bash PATH从哪里获取/usr/local / bin?

我刚刚使用centos / 7盒子与Vagrant一​​起创建了一个全新的CentOS 7 VM(bash版本4.2.46),当我以流浪者用户身份登录时,这是我的路径:
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/vagrant/.local/bin:/home/vagrant/bin

以root身份登录时,这是PATH:

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

我知道/ etc / profile正在添加/usr/local / sbin:/usr/sbin(最后为大多数用户,在root的开头),以及最终在流浪者中的/etc/skel/.bash_profile主目录正在添加/home/vagrant/.local/bin:/home/vagrant/bin,但初始设置来自何处?

目前我没有解释为什么用户在他们的PATH中以/usr/local / bin:/usr/bin结束,而root获取其他人.

(坦率地说,根据/ etc / profile,根据/usr/local / sbin和/usr/sbin应该在末尾,根PATH的顺序似乎很奇怪.)

在bash源代码“config-top.h”中有这样的:
/* The default value of the PATH variable. */
#ifndef DEFAULT_PATH_VALUE
#define DEFAULT_PATH_VALUE \
  "/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:."
#endif

/* The value for PATH when invoking `command -p'.  This is only used when
   the Posix.2 confstr () function,or CS_PATH define are not present. */
#ifndef STANDARD_UTILS_PATH
#define STANDARD_UTILS_PATH \
  "/bin:/usr/bin:/sbin:/usr/sbin:/etc:/usr/etc"
#endif

原文地址:https://www.jb51.cc/centos/373815.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。