macos - 如何在 Mac 上的 $PATH 中添加/usr/local/bin

标签 macos git node.js path profile

当我在终端中“打开 .profile”时,我得到以下信息:

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

现在我为 Mac 安装了 node.js,它说,

Make sure that /usr/local/bin is in your $PATH.

如何添加 /usr/local/bin 来导出 PATH=$PATH:/usr/local/git/bin

最佳答案

PATH 变量保存了一个由冒号分隔的目录列表,所以如果你想添加多个目录,只需在它们之间加上一个冒号:

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

该语法适用于任何与 Bourne 兼容的 shell(sh、ksh、bash、zsh...)。但是 zsh 是最近版本的 MacOS 中的默认 shell,它也以另一种方式公开 PATH - 作为一个名为(小写)$path 的变量,它是一个数组而不是单个字符串。所以你可以这样做:

path+=(/usr/local/git/bin /usr/local/bin) 

在任何一种情况下,您都可能需要在添加之前检查以确保该目录尚未在 PATH 中。下面是使用通用语法的样子:

for dir in /usr/local/git/bin /usr/local/bin; do
   case "$PATH" in 
     $dir:*|*:$dir:*|*:$dir) :;; # already there, do nothing
     *) PATH=$PATH:$dir          # otherwise add it
   esac
done

这是一个 zsh 特定的版本:

for dir in /usr/local/git/bin /usr/local/bin; do
  if (( ${path[(i)$dir]} > $#path )); then
    path+=($dir)
  fi
done

但在 Zsh 中,您也可以将数组 var 标记为仅接受唯一条目:

typeset -TU PATH path

甚至可以在数组中镜像你自己的路径变量:

typeset -TU PYTHONPATH pythonpath

关于macos - 如何在 Mac 上的 $PATH 中添加/usr/local/bin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11025980/

相关文章:

c - 如果输出到终端,则在 C 中检测

XCode 4.2.1 在应用商店中没有响应

php - 使用 Git 设置 Laravel 项目

git - 如何分支并包含未决 pull 请求中的更改

node.js - 使用 Passport 进行 Facebook 身份验证的 Node+React 应用程序中的 CORS 错误

ruby - 安装 Ruby 后 MAC OS X 上的事件开发者路径无效

bash - 如何在 Mac OS X 上的 bash 脚本中获取默认浏览器名称

node.js - 使用nodejs Cheerio深层嵌套元素标签抓取网站

来自 github 空绿色文件夹的 Git 存储库

node.js - 在 Node.js 中压缩包含换行符的文本文件会导致 gzip 文件损坏