想让人注意到某个有用的答案?请投赞同票!

有没有人帮助到了你?有没有任何答案或用户使用技巧解决了你的问题?选择“赞同票”箭头投出你的赞同票。你的反馈能帮助到他人!

进一步了解在什么情况下投赞同票:了解投票 - Apple 社区

看上去一段时间内没有人回复。 要再次发起对话,只需提出一个新问题即可。

我想请问下大家:sudo chown -R $(whoami) $(brew --prefix)/* 知道这句命令是有什么作用的吗?

当我输入了 sudo chown -R $(whoami) $(brew --prefix)/* 这句命令后,系统更新软件就提示权限被拒绝,重启电脑就卡在了进度条那里,一直进入不了系统?

发布日期 2018年6月3日 下午3:41

回复
问题被标记为 最佳回复

发布日期 2018年6月4日 上午12:29

这个命令主要是将homebrew软件目录及其所有子目录和文件的拥有者改为当前用户。


将这个命令行拆开来看:

  • $(whoami) 返回的是当前用户的用户名,比如 tony
  • 最后的部分是返回homebrew安装目录,默认的是/usr/local
    问题是,如果你没有安装homebrew,那么$(brew --prefix)返回的就是“-bash: brew: command not found”,而$(brew --prefix)/*将会是被翻译为包含系统根(/)目录。


所以,如果没有安装brew,或者环境中的PATH变量没有包括brew,那么最后的部分就会出错,就如同执行了下面的命令: “sudo chown -R tony /*”,所以你的系统会出问题。


现在来说,最好是利用macOS的网络启动后再覆盖安装来修复了,如果还不行就只能备份数据后抹盘重装了


最后一点说明,这个命令的问题不仅仅是brew有没有安装这一点,对于个人Mac用户没问题,但是要是多用户就要考虑更多一些。

回复量: 2
问题被标记为 最佳回复

2018年6月4日 上午12:29 回应 tianjianluo

这个命令主要是将homebrew软件目录及其所有子目录和文件的拥有者改为当前用户。


将这个命令行拆开来看:

  • $(whoami) 返回的是当前用户的用户名,比如 tony
  • 最后的部分是返回homebrew安装目录,默认的是/usr/local
    问题是,如果你没有安装homebrew,那么$(brew --prefix)返回的就是“-bash: brew: command not found”,而$(brew --prefix)/*将会是被翻译为包含系统根(/)目录。


所以,如果没有安装brew,或者环境中的PATH变量没有包括brew,那么最后的部分就会出错,就如同执行了下面的命令: “sudo chown -R tony /*”,所以你的系统会出问题。


现在来说,最好是利用macOS的网络启动后再覆盖安装来修复了,如果还不行就只能备份数据后抹盘重装了


最后一点说明,这个命令的问题不仅仅是brew有没有安装这一点,对于个人Mac用户没问题,但是要是多用户就要考虑更多一些。

我想请问下大家:sudo chown -R $(whoami) $(brew --prefix)/* 知道这句命令是有什么作用的吗?

欢迎来到 Apple 支持社区
Apple 客户在其产品方面互相帮助的论坛。使用你的 Apple ID 开始畅游其中吧!