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


174

我尝试编辑PATH条目,因为做错了什么。

我正在使用Mac OS X 10.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,如何输入上面的代码?

谢谢!


3
根据您喜欢的编辑器,使用vi ~/.bash_profilesubl ~/.bash_profilemate ~/.bash_profile
Droppy 2015年

刚刚尝试了
nano〜

1
听起来好像.bash_profile是空的/丢失了。
Droppy 2015年

3
对于像这样的新手,这些说明将有所帮助:1. ~/.bash_profile表示它位于目录中。~表示根目录。2.带有前缀的文件.ls命令不可见。它们有点像隐藏文件,普通用户实际上不需要查看这些文件。我们这里的情况是一个例外。为了能够看到它,您可以执行ls -a3. 如果touch指定的目录不存在,则会在该目录中创建一个文件。它确实存在,然后什么都不会发生
亲爱的,

4.显然open会使用您的默认texteditor打开它。5.结果,touch ~/.bash_profile任何目录执行都可以。因为您的路径不相对
亲爱的,

Answers:


359

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

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当文本包含对环境变量的引用时,使用诸如写入文件之类的东西会存在问题,因为这意味着这些引用需要转义。使用文本编辑器必须更加常见。
Droppy 2015年

如果我输入“ touch ./bash_profile”(什么也没说)然后输入“ open .bash_profile”,那会告诉我该文件不存在是什么意思?
德隆兹

82

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

首先,确定.bash_profile文件存在吗?请记住,默认情况下不存在.bash_profile文件。您必须自己创建它。

进入finder中用户文件夹。.bash_profile文件应该可以在此处找到。-> 高清/用户/ [USERNAME]

切记:以“。”开头的点的文件默认情况下是隐藏的。

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

Press: Command + Shift + .

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

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

cd

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

touch .bash_profile

其次,如果您无法记住用于在vim,nano等中保存和关闭的讨厌命令(上面建议的方法),最简单的编辑方法是在您喜欢的代码编辑器(Sublime等)中打开.bash_profile文件。

Finder->用户文件夹。右键单击->使用以下命令打开:Sublime Text(或其他代码编辑器)。或将其拖到扩展坞中的应用程序上。

…在那里,您可以对其进行编辑,并在新行中传递导出命令。


1
我个人发现使用emacs通常可以正常访问“隐藏”文件...
Mallory-Erik

2
我更新了方式,以在Mac OS的Finder中显示隐藏文件。按下:Command + Shift +。
Herr_Hansen

出于某种原因,touch没有创建文件,但是像Alessandro的回答一样,我使用cat来执行该操作。
德隆兹

44

如果您使用的是MAC Catalina,则需要更新.zshrc文件而不是.bash_profile或.profile


2
哇,我一直在疯狂,试图找出为什么我无法更新捆绑软件,以及为什么我的系统正在寻找错误的红宝石路径。我应该将bash_profile复制粘贴到zshrc吗?
瑞克斯

我正在使用catalina,但我找不到该文件,您能解释一下目录是什么吗?
MrDev

WTF,这太疯狂了!
loretoparisi

您需要确保您的终端现在使用的zsh chsh -s /bin/zsh。这将激活您的终端,使其自动为zsh。然后,您可以在〜/ .zshrc或〜/ .zprofile中进行更改。
the775

谢谢。如果您不想再次键入所有内容,则可以执行以下操作:mv .bash_profile .zshrc
Hatzil

9

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

nano ~/.bash_profile

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

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

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

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


5

在Macbook中,分步进行:

  1. 首先打开终端并编写: cd ~/
  2. 创建您的bash文件: touch .bash_profile

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

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

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

@canerkaseler


1

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


2
从优胜美地(10.10)开始,这已经不再成立。长期以来,Bash一直是macOS上的默认Shell。从历史上看,* BSD有csh哪些是不兼容的,和用途.cshrc,而不是.profile(不过,如果你需要使用几个Bourne兼容shell,是有意义的有共同的设置.profile)。
人间

1

对我来说,我的Mac OS是Mojave。并且我面临同样的问题三天,最后,我只是在.bash_profile文件中编写了正确的路径,如下所示:

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

这个。另外,请确保关闭终端并打开一个新终端,以查看抖动命令是否起作用
Paolo

0

设置路径JAVA_HOME和ANDROID_HOME>您必须打开终端并输入以下cmd。

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

0

通过输入echo $SHELLTerminal 来确定您正在使用哪个shell 。

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

将此行添加到文件末尾:

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

要进行验证,请通过重新启动终端或键入来刷新变量source $HOME/.<rc file>,然后执行echo $PATH

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.