Benzle Asked: 2019-11-28 15:17:33 +0800 CST2019-11-28 15:17:33 +0800 CST 2019-11-28 15:17:33 +0800 CST 终端中普通用户和root用户的$和#符号的含义[重复] 772 符号是什么意思#和$。为什么#要root? 这些约定从何而来? command-line prompt 1 个回答 Voted Best Answer guiverc 2019-11-28T16:47:52+08:002019-11-28T16:47:52+08:00 传统; 当我在 80 年代初了解到它时就是这样,当时我们被告知这是一个惯例,它们除了 $=work(金钱;你可以谋生的地方),#=danger(它可能会变坏而且你'会看到蝙蝠侠电视节目中出现的“#”而不是命中或暴力) 问题是它们可以很容易地更改,并且是特定于 shell 的。我在使用 bourne SHell 的大学里学到了我之前所说的内容;现代 BASH 已经取代了原来的 bourne SHell,所以它遵循了它的传统。 如果您使用其他 shell,那些“$”和“#”可以被其他字符替换(例如,“%”取决于所选的 shell)。 此外,如前所述,它们可以通过 $PS1 (提示)替换,因此无论如何不应依赖它们来表示任何含义。 它们充其量只是表明您可能正在使用什么 shell,以及您可能处于什么级别的环境(用户或 root)- 但不假设任何内容要安全得多。
传统; 当我在 80 年代初了解到它时就是这样,当时我们被告知这是一个惯例,它们除了 $=work(金钱;你可以谋生的地方),#=danger(它可能会变坏而且你'会看到蝙蝠侠电视节目中出现的“#”而不是命中或暴力)
问题是它们可以很容易地更改,并且是特定于 shell 的。我在使用 bourne SHell 的大学里学到了我之前所说的内容;现代 BASH 已经取代了原来的 bourne SHell,所以它遵循了它的传统。
如果您使用其他 shell,那些“$”和“#”可以被其他字符替换(例如,“%”取决于所选的 shell)。
此外,如前所述,它们可以通过 $PS1 (提示)替换,因此无论如何不应依赖它们来表示任何含义。
它们充其量只是表明您可能正在使用什么 shell,以及您可能处于什么级别的环境(用户或 root)- 但不假设任何内容要安全得多。