37

所以我正在安装一些用于编码和个人使用的东西,我需要在终端中运行它(如果你没有阅读标题,我在 Mac 上)。

~/.bash_profile

它只是说权限被拒绝,我正在运行 OSX 10.8.4 Mountain Lion。我该如何绕过这个?

4

7 回答 7

55

在 MacOS 上:添加source ~/.bash_profile~/.zshrc. 那么这个配置文件会在你打开 zsh 时生效。

于 2018-07-02T02:36:54.333 回答
40

你永远不会想要运行它,但你可能想要获取

. ~/.bash_profile
source ~/.bash_profile

两者都应该工作。但这是一个奇怪的请求,因为当您启动 bash 时应该自动获取该文件,除非您明确地以非交互方式启动它。从手册页:

当 bash 作为交互式登录 shell 或作为带有 --login 选项的非交互式 shell 调用时,它首先从文件 /etc/profile 中读取并执行命令(如果该文件存在)。读取该文件后,它会按顺序查找 ~/.bash_profile、~/.bash_login 和 ~/.profile,然后从第一个存在且可读的文件中读取并执行命令。当 shell 启动时,可以使用 --noprofile 选项来禁止这种行为。

于 2013-09-16T01:10:26.713 回答
8

如果您更改 .bash_profile,它仅适用于新的终端会话。

要将其应用于现有会话,请运行source ~/.bash_profile. 您可以通过这种方式运行任何 Bash 脚本 - 将source其视为与在终端窗口(从指定脚本)中键入命令相同。

更多信息:如何从命令行重新加载 .bash_profile?

奖励:您可以使环境变量可用于 OSX 应用程序 - 不仅是当前的 Bash 会话,还包括 Visual Studio Code 或 IntelliJ 等应用程序 - 使用launchctl setenv GOPATH "${GOPATH:-}"

于 2015-01-27T15:37:55.880 回答
1

正如@kojiro 所说,你不想“运行”这个文件。按照他的说法来源。它应该在启动时获得“来源”。采购只是意味着运行文件中的每一行,包括你想要运行的那一行。如果您想确保文件夹位于某个路径环境变量中(您似乎希望从您对另一个解决方案的评论中获得),请执行

$ echo $PATH

在命令行。如果您想检查您的 ~/.bash_profile 是否正在被获取,无论是在启动时,还是手动获取它时,请在 ~/.bash_profile 文件中输入以下行:

$ echo "Hello I'm running stuff in the ~/.bash_profile!"
于 2013-09-16T01:59:09.673 回答
1

无需启动,它会在您启动 mac 终端/bash 时自动执行。每当您进行更改时,您可能需要重新启动终端。

~ 是默认路径.bash_profile

于 2014-07-15T12:59:32.533 回答
0

如果问题是您没有看到对文件的更改生效,只需打开一个新的终端窗口,它将被“源化”。您将能够在每个后续终端窗口中使用正确的 PATH 等。

于 2013-09-16T03:33:25.290 回答
0

我在 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 命令。

于 2021-05-23T07:06:07.777 回答