我最近从 Mavericks 升级到了 High Sierra。
我有一些未复制的 shell 脚本在 /bin 中。现在即使以 root 身份也不允许修改 /bin。
我可以将自己的脚本保存在 /bin 中吗?
或者有没有比在 .bash_profile 中创建大量别名更好的方法?
抱歉我的无知,非常感谢
附言:看到 Yosemite 和 El Capitan 对其他旧款 Mac 造成的损害后,我非常不愿意从相当灵敏和稳定的 Mavericks 升级。不过初步迹象似乎还不错……
答案1
一般情况下,只有基本操作系统二进制文件和脚本应安装在 /bin(以及 /sbin、/usr/bin 和 /usr/sbin)中。本地自定义和附加二进制文件应安装在 /usr/当地的/bin。/usr/local/bin 在 macOS 中默认不存在,但您可以创建它(以 root 身份)并将任何内容放入其中。它已在默认位置PATH
,因此将在其中搜索命令。
需要注意的一点是:由于它位于默认目录的其他目录之前PATH
,因此那里的命令名称通常会覆盖同名的标准命令。如果您在那里安装的行为与标准命令不同的命令,这可能会造成麻烦。例如,如果您sed
在那里将 GNU 安装为 /usr/local/bin/sed,则任何使用sed
并期望 BSDsed
行为的东西……都可能会中断,因为 GNUsed
略有不同。因此,最好安装具有不同名称的东西(例如将 GNU 安装sed
为 /usr/local/bin/G请参阅 如何在 Linux 中使用 sed。