如何在 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_profile
或 subl ~/.bash_profile
或 mate ~/.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_HOME和ANDROID_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/.<rc file>
刷新变量,然后执行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”问题解决