如何在 OS X 上编辑 $PATH (.bash_profile)?

Posted

技术标签:

【中文标题】如何在 OS X 上编辑 $PATH (.bash_profile)?【英文标题】:How do I edit $PATH (.bash_profile) on OS X? 【发布时间】:2015-08-08 06:48:53 【问题描述】:

我正在尝试编辑 PATH 的条目,因为我做错了。

我正在使用Mac OS X v10.10.3(优胜美地)

我试过了:

touch ~/.bash_profile; open ~/.bash_profile

但是文件编辑器打开时里面什么都没有。

我的问题:

我正在尝试将 android_HOME 安装到我的 PATH

我拼错了,但是当我关闭终端并返回时它消失了,所以我又试了一次:

export ANDROID_HOME=/<installation location>/android-sdk-macosx
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

这一次,我输入了正确的命令,但是当我关闭终端时,我的设置又消失了。

如何执行我想要的设置?

如果我要编辑 bash.profile,我该如何输入上面的代码?

【问题讨论】:

使用 vi ~/.bash_profilesubl ~/.bash_profilemate ~/.bash_profile,取决于您喜欢的编辑器。 听起来 .bash_profile 是空的/失踪的。 对于像这样的新手,这些注释会有所帮助: 1. ~/.bash_profile 表示它位于 root 目录中。 ~ 表示根目录。 2. 以. 为前缀的文件对ls 命令是不可见的。它们有点类似于隐藏文件,普通用户并不真正需要查看的文件。我们这里的情况是个例外。为了能够看到它,您可以执行ls -a 3. touch 将在指定的目录中创建一个文件如果它不存在。它确实存在,那么什么都不会发生 4.显然open 将使用您的默认文本编辑器打开它。 5. 因此,从 任何目录 执行 touch ~/.bash_profile 将起作用。因为你的路径不是相对的 @Honey:~ 表示家(ie$HOME),而不是根(ie/)。跨度> 【参考方案1】:

您必须使用文本编辑器打开该文件,然后保存。

touch ~/.bash_profile; open ~/.bash_profile

它会用TextEdit打开文件,粘贴你的东西然后保存。如果你再次打开它,你会发现你的编辑。

您可以使用其他编辑器:

nano ~/.bash_profile
mate ~/.bash_profile
vim ~/.bash_profile

但如果你不知道如何使用它们,使用open 方法会更容易。


或者,您可以依赖pbpaste。复制

export ANDROID_HOME=/<installation location>/android-sdk-macosx
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

在系统剪贴板中,然后在 shell 中运行

pbpaste > ~/.bash_profile

或者你也可以使用cat

cat > ~/.bash_profile

(现在cat 等待输入:粘贴两个导出定义,然后点击Ctrl + D)。

【讨论】:

当文本包含对环境变量的引用时,使用 cat 之类的内容写入文件时会出现问题,因为这意味着这些引用需要转义。使用文本编辑器肯定更常见。 如果我输入“touch ./bash_profile”(它什么也没说)然后“打开.bash_profile”并告诉我该文件不存在,这意味着什么? 如果您使用的是 Catalina,请按照以下步骤操作:mkyong.com/maven/install-maven-on-mac-osx/… 在这个答案中用zshrc替换bash_profile【参考方案2】:

对于初学者来说更详细一点:


在 Mac 上开始使用 .bash_profile 之前,请注意,由于 macOS Catalina zsh (z shell) 是默认 shell。因此,我们过去放在 .bash_profile 中的内容现在属于 .zshenv.zshrc 文件。

.zshenv .zshrc ? (Found here)

.zshenv:shell 的调用。通常包含应该可供其他程序使用的导出变量。例如,$PATH。

.zshrc:仅来源于交互式 shell。它应该包含设置别名、函数、选项、键绑定等的命令。


第 1 步

确保 .bash_profile 文件存在?(当然是 .zshenv)请记住,默认情况下 .bash_profile 文件不存在。您必须自己创建它。

进入 finder 中的用户文件夹。 .bash_profile 文件应该可以在那里找到。 -> 高清/用户/[用户名]

记住:文件以点开头'.'默认隐藏

在 Mac OS Finder 中显示隐藏文件:

Press: Command + Shift + .

如果它不存在,您必须自己创建 .bash_profile

打开终端应用程序并使用简单的命令切换到用户文件夹

cd

如果不存在,请使用此命令创建文件

touch .bash_profile

第 2 步

如果您无法记住 vim、nano 等中用于保存和关闭的书呆子命令(上面推荐的方式),最简单的编辑方法是在您喜欢的代码编辑器中打开 .bash_profile(或 .zshenv)文件( Sublime、Visual Studio Code 等)。

Finder -> 用户文件夹。右键单击 -> 打开方式:Visual Studio Code(或其他代码编辑器)。或将其拖到 Dock 中的应用上。

...在那里你可以编辑它,在新行中传递导出命令。

【讨论】:

我个人发现使用 emacs 访问“隐藏”文件通常是一个优点...... 我更新了方式,在 Mac OS 的 Finder 中显示隐藏文件。按:Command + Shift + . 由于某种原因,touch 没有创建文件,但我使用 cat 来完成它,就像 Alessandro 的回答一样。 也就是说你现在要做的是touch ~/.zshrc; open ~/.zshrc【参考方案3】:

如果你使用macOS v10.15 (Catalina),你需要更新.zshrc 文件而不是.bash_profile.profile.

【讨论】:

哇,我一直在疯狂地想弄清楚为什么我不能更新 bundler 以及为什么我的系统正在寻找错误的 ruby​​ 路径。我应该复制粘贴我的 bash_profile 到 zshrc 吗? 我在用catalina,但是我没有找到那个文件,你能解释一下目录是什么吗? WTF,这太疯狂了! 您需要确保您的终端现在是带有chsh -s /bin/zsh 的zsh。这将激活您的终端自动成为 zsh。然后您可以在 ~/.zshrc 或 ~/.zprofile 中进行更改。 谢谢。如果您不想再次输入所有内容,只需执行以下操作:mv .bash_profile .zshrc【参考方案4】:

对于Mac OS,一步一步:

    首先,打开一个终端,写:cd ~/

    创建您的 Bash 文件:touch .bash_profile

    您创建了“.bash_profile”文件,但如果您想编辑它,您应该编写它;

    编辑您的 Bash 个人资料:open -e .bash_profile

    之后,您可以从屏幕左上角保存:文件保存

【讨论】:

【参考方案5】:

对于初学者:要在 macOS 的主目录中创建 .bash_profile 文件,请运行:

nano ~/.bash_profile

然后您可以粘贴以下内容:

https://gist.github.com/mocon/0baf15e62163a07cb957888559d1b054

如您所见,它在底部包含一些示例别名和一个环境变量。

您已完成更改,请按照 Nano 编辑器窗口底部的说明进行 WriteOut (Ctrl + O) 和 Exit (Ctrl + X)。然后退出您的终端并重新打开它,您将能够使用新定义的别名和环境变量。

【讨论】:

【参考方案6】:

设置路径JAVA_HOMEANDROID_HOME。您必须打开终端并输入以下命令。

touch ~/.bash_profile; open ~/.bash_profile

之后,将以下路径粘贴到基本配置文件中并保存:

export ANDROID_HOME=/Users/<username>/Library/Android/sdk 
export PATH="$JAVA_HOME/bin:$ANDROID_HOME/platform-tools:$ANDROID_HOME/emulator:$PATH"
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home

【讨论】:

重新“基本配置文件”:您的意思是“Bash .profile 文件”吗?【参考方案7】:

只需在终端输入open ~/.bash_profile,即可编辑。

【讨论】:

【参考方案8】:

Mac OS X 不将路径存储在文件 .bash_profile 中,而是将路径存储在文件 .profile 中,因为 Mac OS X 是 *BSD 系列的一个分支。在您的终端上执行cat .profile 后,您应该能够在文件 .profile 中看到 export blah blah blah。

【讨论】:

从优胜美地 (10.10) 开始,这不再是真的,如果它曾经是的话。 Bash 长期以来一直是 macOS 上的默认 shell。从历史上看,*BSD 有不兼容的csh,并使用.cshrc 而不是.profile(尽管如果您需要使用多个与Bourne 兼容的shell,在.profile 中具有通用设置是有意义的)。跨度> 【参考方案9】:

最简单的答案是:

第 1 步:启动 Terminal.app

第 2 步: 键入 nano .bash_profile – 此命令将在终端中最易于使用的文本编辑器中打开 .bash_profile 文档(或创建它,如果它不存在) – Nano.

第 3 步:现在您可以对文件进行简单的更改。粘贴这些代码行以更改终端提示。

export PS1="___________________    | \w @ \h (\u) \n| => "

export PS2="| => "

第 4 步:现在通过键入 Ctrl + O 保存您的更改。点击 Return 保存。然后通过键入 Ctrl + X

退出 Nano

第 5 步:现在我们需要*激活您的更改。输入 source .bash_profile 并观察你的提示变化。

就是这样!享受吧!

【讨论】:

【参考方案10】:

通过在终端中输入 echo $SHELL 来确定您正在使用的 shell。

然后打开/创建正确的 rc 文件。对于 Bash,它是 $HOME/.bash_profile$HOME/.bashrc。对于 Z shell,它是 $HOME/.zshrc

将此行添加到文件末尾:

export PATH="$PATH:/your/new/path"

要验证,请通过重新启动终端或输入source $HOME/.&lt;rc file&gt; 刷新变量,然后执行echo $PATH

【讨论】:

【参考方案11】:

对我来说,我的 macOS 是 macOS v10.14 (Mojave)。而且我遇到同样的问题三天,最后,我只是在 .bash_profile 文件中写了正确的路径,如下所示:

export PATH=/Users/[YOURNAME]/development/flutter/bin:$PATH
注1:如果你没有filr .bash_profile,创建一个并写上一行 注意 2:如果复制粘贴此路径,请将下载的 Flutter SDK 压缩到 [home]/development

【讨论】:

这个。还要确保关闭终端并打开一个新终端以查看颤振命令的工作

以上是关于如何在 OS X 上编辑 $PATH (.bash_profile)?的主要内容,如果未能解决你的问题,请参考以下文章

用 Mac OS X 自带的 SSH 登陆 Linux 后出现中文乱码,如何解决?

Mac OS X下修改.bash_profile之后source .bash_profile出现“command not found”问题解决

在 Mac OS X Lion 上设置环境变量

如何在 OS X Leopard 上的 bash 脚本中进行日期数学运算?

如何在 Mac 上编辑 PYTHONPATH?

如何在 OS X 上使用 LaTeX