传统; 当我在 80 年代初了解到它时,就是这样,当时我们被告知这是一个惯例,除了 $=工作(金钱;你谋生的地方)、#=危险(它可能会变坏,你'会看到蝙蝠侠电视节目中出现的“#”,而不是打击或暴力)
问题是它们很容易改变,并且是特定于 shell 的。我在大学里学过之前说过的话,当时我们使用 bourne SHell;现代 BASH 已经取代了原来的 bourne SHell,因此它遵循了它的传统。
如果您使用其他 shell,则“$”和“#”可以替换为其他字符(例如“%”,具体取决于所选的 shell)。
此外,如前所述,它们可以通过 $PS1 (提示)进行替换,因此无论如何都不应该依赖它们来表示任何意义。
它们充其量只是表明您可能正在使用什么 shell,以及您可能处于什么级别的环境(用户或 root) - 但什么都不假设会更安全。