![常见 Linux 发行版上的本地用户命令约定](https://linux22.com/image/1600526/%E5%B8%B8%E8%A7%81%20Linux%20%E5%8F%91%E8%A1%8C%E7%89%88%E4%B8%8A%E7%9A%84%E6%9C%AC%E5%9C%B0%E7%94%A8%E6%88%B7%E5%91%BD%E4%BB%A4%E7%BA%A6%E5%AE%9A.png)
系统管理员可以遵循哪些约定来命名本地用户命令(即管理员编写的脚本,通过 PATH 提供给用户)?目标是防止与默认 PATH 中发行版提供的命令发生冲突。当然,任何此类约定都需要相应 Linux 发行版的配合(我对 Debian 特别感兴趣)。
建议:
- 在命令前面加上管理员控制的域(可能以反向表示法表示):
com.example-passwdldap
用于在本地 LDAP 服务器中更改密码的脚本。这当然可以防止名称冲突,但是,用户可能会抱怨名称太长。 - 在命令前面加上下划线:
_passwdldap
。据我所知,shell 脚本中的内部函数通常这样命名,但这应该不是问题。 - 在命令前面添加二下划线:
__passwdldap
。这种命名对于内部函数来说也很常见,我认为这应该不是问题。 - 追加一个或两个下划线可能不太清楚,特别是如果系统中确实存在同名命令(没有下划线)。用户可能会使用自动完成,然后忘记添加下划线。