据说在 UNIX 和其他类似系统中,除了拉丁字符、数字和下划线之外,我们还可以使用连字符作为用户名。另一方面,连字符在许多编程语言中用作运算符。它们彼此兼容吗?
我想知道用户名中的连字符是否有时会被视为减号运算符并在某些程序代码中导致意外行为。如果这可能发生,我会在用户名中使用下划线作为分隔符。
提前谢谢你的帮助。
mur*_*uru 14
另一方面,连字符在许多编程语言中用作运算符。
真的。然而,很少(不是?)语言解释文字字符串并盲目地在其中执行操作。如果是这样,我们应该更害怕将用户名视为方法名称!问题在于假设一组受限的有效字符的开发人员。
如果有帮助,Debian 会/etc/adduser.conf列出用户名中允许使用的字符:字母、数字、连字符和下划线。
$ tail /etc/adduser.conf
[snip]
# check user and group names also against this regular expression.
#NAME_REGEX="^[a-z][-a-z0-9_]*\$"
Run Code Online (Sandbox Code Playgroud)
因此,至少有一个主要发行版支持您。前进。