所以我正在安装一些用于编码和个人使用的东西,我需要在终端中运行它(如果你没有阅读标题,我在 Mac 上)。
~/.bash_profile
它只是说权限被拒绝,我正在运行 OSX 10.8.4 Mountain Lion。我该如何绕过这个?
在 MacOS 上:添加source ~/.bash_profile
到~/.zshrc
. 那么这个配置文件会在你打开 zsh 时生效。
你永远不会想要运行它,但你可能想要获取它。
. ~/.bash_profile
source ~/.bash_profile
两者都应该工作。但这是一个奇怪的请求,因为当您启动 bash 时应该自动获取该文件,除非您明确地以非交互方式启动它。从手册页:
当 bash 作为交互式登录 shell 或作为带有 --login 选项的非交互式 shell 调用时,它首先从文件 /etc/profile 中读取并执行命令(如果该文件存在)。读取该文件后,它会按顺序查找 ~/.bash_profile、~/.bash_login 和 ~/.profile,然后从第一个存在且可读的文件中读取并执行命令。当 shell 启动时,可以使用 --noprofile 选项来禁止这种行为。
如果您更改 .bash_profile,它仅适用于新的终端会话。
要将其应用于现有会话,请运行source ~/.bash_profile
. 您可以通过这种方式运行任何 Bash 脚本 - 将source
其视为与在终端窗口(从指定脚本)中键入命令相同。
更多信息:如何从命令行重新加载 .bash_profile?
奖励:您可以使环境变量可用于 OSX 应用程序 - 不仅是当前的 Bash 会话,还包括 Visual Studio Code 或 IntelliJ 等应用程序 - 使用launchctl setenv GOPATH "${GOPATH:-}"
正如@kojiro 所说,你不想“运行”这个文件。按照他的说法来源。它应该在启动时获得“来源”。采购只是意味着运行文件中的每一行,包括你想要运行的那一行。如果您想确保文件夹位于某个路径环境变量中(您似乎希望从您对另一个解决方案的评论中获得),请执行
$ echo $PATH
在命令行。如果您想检查您的 ~/.bash_profile 是否正在被获取,无论是在启动时,还是手动获取它时,请在 ~/.bash_profile 文件中输入以下行:
$ echo "Hello I'm running stuff in the ~/.bash_profile!"
无需启动,它会在您启动 mac 终端/bash 时自动执行。每当您进行更改时,您可能需要重新启动终端。
~ 是默认路径.bash_profile
如果问题是您没有看到对文件的更改生效,只需打开一个新的终端窗口,它将被“源化”。您将能够在每个后续终端窗口中使用正确的 PATH 等。
我在 zsh(mac os Big Sur 11.3)上遇到了这个错误,这就是我解决这个问题的方法:-
前往终端。
cd /users/<yourusername>
一旦你到达这里发出一个命令:
ls -al
您将看到很多文件和一个特定文件 .zprofile。这是您的用户资料。我们需要对此进行编辑。
在此之后,我们需要编辑文件。发出以下命令:
nano .zprofile
一旦你发出这个命令文件将被打开进行编辑。添加 Maven 的路径详细信息。
M2_PATH="/Users//code/apache-maven-3.8.1/bin" //添加你的maven目录路径 PATH="${PATH}:${M2_PATH}" export PATH
按 ctrl + X 并保存文件。
保存文件后发出命令:
source .zprofile
完成后,您将能够运行 mvn 命令。