如果使用以下命令启动,这里的简单代码将在我的机器上按预期工作bash
:
function ⏰(){
date
}
⏰
其他人使用这个会不会有问题,或者它是否具有普遍性?
我很想知道,因为我目前从未在其他源代码中看到过类似的东西。
编辑:有无限的可能性,它可以用于快速区分功能角色,例如使用表情符号。
A
答案1
一个有用的指南是“可移植操作系统接口”(POSIX),这是大多数类 Unix 系统实现的一系列标准。通常最好将 shell 脚本限制为 POSIX 规定的功能,以确保它们可以在不同的 shell 和平台上使用。
根据 POSIX 规范《Shell 命令语言》中的函数定义:
该函数名为fname;应用程序应确保它是一个名称(请参阅 IEEE Std 1003.1-2001 的基本定义卷,第 3.230 条,名称)。实现可以允许函数名称中的其他字符作为扩展名。
按照链接到“名字”的定义:
在 shell 命令语言中,仅由下划线、数字和字母组成的单词便携式字符集。
该字符集仅包含 U0000 和 U007E 之间的字符。
因此,像“⏰”(U23F0) 这样的字符在符合 POSIX 标准的标识符中无效。
你的shell 可能会接受它们,但这并不能保证其他的也会的。
为了能够跨不同平台和软件版本使用您的脚本,您应该避免使用这样的不合规标识符。