环境:OSX Sierra,达尔文内核版本16.3.0
根本问题:我想在中央存储库中使用一堆shell脚本,这些脚本具有#!/ usr / bin / zsh。在我的Mac上,zsh位于/ bin / zsh中。
尝试的解决方案:我想创建一个符号链接
ln -s /bin/zsh /usr/bin/zsh
我的用户帐户具有管理员权限,但我不是root用户,因此我不希望在此Mac上启用root用户。因此我首先做了一个
sudo su
获取具有root特权的shell,然后执行ln命令。但是我仍然收到错误信息ln:/ usr / bin / zsh:不允许操作。
问题:
为什么会收到此错误消息?
我应该怎么做才能创建链接?
有没有更好的方法可以实现我的最初目标?请注意固定#!线不是一种选择。
由于Apple的系统完整性保护,您会收到此消息。系统完整性保护包括对系统以下部分的保护:
/System
/usr
/bin
/sbin
Apps that are pre-installed with OS X
第三方应用程序和安装程序可以继续编写的路径和应用程序包括:
/Applications
/Library
/usr/local
这意味着您可以简单地在其中创建符号链接/usr/local/bin
(它仍在您的$ PATH中)。
但是,似乎您特别需要在中创建符号链接/usr/bin
。您可以通过禁用系统完整性保护来实现(请不要这样做,只需编辑脚本即可。)。您可以通过以下方式禁用它(我自己尚未对其进行测试!!!):
Click the menu.
Select Restart...
Hold down command-R to boot into the Recovery System.
Click the Utilities menu and select Terminal.
Type csrutil disable and press return.
Close the Terminal app.
Click the menu and select Restart....
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句