为什么我不能在 /bin 中创建链接?

Why can't I create links in /bin?

我正在使用 MacOs Mojave,我认为 env 二进制文件位于 /usr/bin/env 下。现在我们有一堆 shell 脚本(在 linux 下编写和工作),其中 /bin/env 为 shebang 行进行了硬编码。

我想的很简单:

cd /bin
sudo ln -s /usr/bin/env env

或者

sudo cp /usr/bin/env .

应该可以解决问题,但我得到:

ln: env: Operation not permitted

cp 相同)。

知道如何解决这个问题吗?

虽然你可以继续disable System Integrity Protection,但我不推荐它。

改为使用 /usr/bin/env;那就是 env 所属的地方。

显然一些 Linux 发行版在 /bin/usr/bin 中都包含 env,但有些(包括 Debian 和可能的衍生产品)不包含。 macOS 也没有,我敢打赌其他 BSD 也没有。