mac电脑.bash_profile锁定没有权限编辑
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mac电脑.bash_profile锁定没有权限编辑相关的知识,希望对你有一定的参考价值。
参考技术A 给自己的用户设置编辑权限,执行以下命令:1、 /usr/bin/sudo /bin/chmod u+rwx /Users/username/.bash_profile
2、 /usr/bin/sudo /usr/sbin/chown username /Users/username/.bash_profile
username 就是你自己的用户名
3、 vim ~/.bash_profile 进行编辑
回车后显示如图,继续回车
选择 e 回车后,点击 i 可进行编辑,编辑完成后按 esc 退出,输入 :qw 回车
参考: https://www.jianshu.com/p/ecdb26a13d99
如何在 mac 终端中运行 ~/.bash_profile
【中文标题】如何在 mac 终端中运行 ~/.bash_profile【英文标题】:How to run ~/.bash_profile in mac terminal 【发布时间】:2013-09-20 01:52:20 【问题描述】:所以我正在安装一些用于编码和个人使用的东西,我需要在终端中运行它(如果你没有阅读标题,我在 Mac 上)。
~/.bash_profile
它只是说权限被拒绝,我正在运行 OSX 10.8.4 Mountain Lion。如何绕过这个?
【问题讨论】:
你有python标签,这是不合适的。我想确保你没有在没有评论的情况下删除标签之前将 python 放入文件中? 看起来他正在尝试设置python环境变量。 【参考方案1】:我在 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" 导出路径
按 ctrl + X 并保存文件。
保存文件后发出命令:
source .zprofile
完成后,您将能够运行 mvn 命令。
【讨论】:
【参考方案2】:在 MacOS 上:将 source ~/.bash_profile
添加到 ~/.zshrc
的末尾。
那么这个配置文件会在你打开 zsh 时生效。
【讨论】:
感谢您的评论!任何使用zsh
的人都会遇到这个令人沮丧的问题。
谢谢!现在这似乎特别重要,因为 zsh
是 macOS Catalina 上的默认 shell。
正是@tobias,出于同样的原因,我也不得不谷歌搜索
相同。谢谢你 - 不应该花这么长时间来弄清楚!
谢谢!我还必须给自己.bash_profile
的编辑权限!【参考方案3】:
如果您更改 .bash_profile,它仅适用于新的终端会话。
要将其应用于现有会话,请运行 source ~/.bash_profile
。您可以通过这种方式运行任何 Bash 脚本 - 将执行 source
视为与在终端窗口中(从指定的脚本)键入命令相同。
更多信息:How to reload .bash_profile from the command line?
奖励:您可以使用launchctl setenv GOPATH "$GOPATH:-"
使环境变量可用于 OSX 应用程序 - 不仅是当前的 Bash 会话,还包括 Visual Studio Code 或 IntelliJ 等应用程序。
【讨论】:
它对我有用,谢谢,我刚刚从我创建这个 .bash_profile 的主目录输入了 cmd 源 .bash_profile 缺少路径(假设不在用户的根文件夹中):source ~/.bash_profile【参考方案4】:无需启动,它会在您启动 mac 终端/bash 时自动执行。每当您进行更改时,您可能需要重新启动终端。
~是.bash_profile
的默认路径
【讨论】:
【参考方案5】:如果问题是您没有看到对文件的更改生效,只需打开一个新的终端窗口,它将被“源化”。您将能够在每个后续终端窗口中使用正确的 PATH 等。
【讨论】:
【参考方案6】:正如@kojiro 所说,你不想“运行”这个文件。按照他的说法来源。它应该在启动时获得“来源”。采购只是意味着运行文件中的每一行,包括你想要运行的那一行。如果您想确保文件夹位于某个路径环境变量中(您似乎希望从另一个解决方案中的一个 cmets 获得),请执行
$ echo $PATH
在命令行。如果您想检查您的 ~/.bash_profile 是否正在获取,无论是在启动时,还是在您手动获取它时,请在 ~/.bash_profile 文件中输入以下行:
$ echo "Hello I'm running stuff in the ~/.bash_profile!"
【讨论】:
【参考方案7】:你永远不会想要运行它,但你可能想要source它。
. ~/.bash_profile
source ~/.bash_profile
两者都应该工作。但这是一个奇怪的请求,因为该文件应该在您启动 bash 时自动获取,除非您明确地以非交互方式启动它。从手册页:
当 bash 作为交互式登录 shell 或作为带有 --login 选项的非交互式 shell 调用时,它首先从文件 /etc/profile 中读取并执行命令(如果该文件存在)。读取该文件后,它会按顺序查找 ~/.bash_profile、~/.bash_login 和 ~/.profile,并从第一个存在且可读的文件中读取并执行命令。启动 shell 时可以使用 --noprofile 选项来禁止这种行为。
【讨论】:
好答案。但是有一次您可能想要获取源:如果您刚刚创建了它,并且希望它应用于当前会话。这听起来正是 OP 的情况。 (话虽这么说,任何不知道~/.bash_profile
和. ~/.bash_profile
之间区别的人最好只创建一个新会话——例如,在Terminal.app 中的新选项卡,然后关闭旧选项卡。)
这对我有帮助。但是我必须手动获取它,即使重新启动终端也没有帮助。以上是关于mac电脑.bash_profile锁定没有权限编辑的主要内容,如果未能解决你的问题,请参考以下文章
Mac电脑在配置Iterm2之后,每次都要执行source ~/.bash_profile 配置的环境变量才生效