在Bash中,我并不是为了解释为什么,
echo $(hostname --fqdn)
作品, echo $(id -un)
不( id: –un: No such user
)。 反引号给出了相同的结果。
使用这个符号是否有一些好的做法? id命令是否有这样一个特殊的使用方法?
下面有些细节看起来适用于其他系统:
lsb_release -a
:SUSE Linux Enterprise Server 11(x86_64), which id
:/ usr / bin / id, id -un
独自工作。 我注意到发布的命令之间的细微差别:
echo $(id -un)
和它的错误信息:
id: –un: No such user
两个“连字符”是不同的,第二个是更长一点点。 它看起来像是从原来的复制和粘贴的错误消息,但命令重新input。 最初的命令很可能包含错误的连字符。 这就解释了为什么没有人能够重现错误信息。
这种错误主要有两个原因之一:
代码是从网站上复制的,使用坏的格式化程序/语法高亮显示来排版。
代码是在不适当的编辑环境中input的,如Microsoft Word。 单词可能会将您input的内容更改为更好的印刷forms,但意想不到的变体forms(如不同的连字符,不同的引号或其他空格符号)。
巧合的是, Codegolf只是一个受欢迎的比赛挑战,一个答案使用了类似的“技巧”来产生一个甚至不可见的差异: https : //codegolf.stackexchange.com/a/23258/16287