Bash 提示中目录路径末尾的井号 (#) 是什么意思?

Str*_*ray 3 command-line prompt directory ps1

当我遇到错误时,我正在为 Ubuntu 安装更新,这让我可以“启动一个新的 shell 来检查情况”。这样做将我置于同一窗口中目录结构的顶部,但附加#到末尾。

什么是#代表?

这个改变是如何从命令行实现的?

tho*_*ter 5

听起来你得到了一个 root shell。root shell 通常用井号 (#) 表示,而用户 shell 通常用美元符号 ($) 表示。

是否存在目录名或用户名取决于使用的特定 shell,因为 root shell 可能如下所示:

#
/#
/dir#
username:/dir#
username@hostname:/dir#
Run Code Online (Sandbox Code Playgroud)

上面的最后一个例子是 Ubuntu 中 Bash 的默认提示。第一个是破折号外壳中的默认值。试试吧/bin/sh。当然,这在两者中都是可配置的。

要打开 root shell,快捷方式是:

sudo -i
Run Code Online (Sandbox Code Playgroud)

这会打开 root 用户配置的 shell 作为登录 shell,通常是 bash。这是一个快捷方式sudo su -。如果想以root身份打开不同的shell,在不修改root用户配置的shell的情况下,可以使用冗长的:

sudo su -s /bin/sh -
Run Code Online (Sandbox Code Playgroud)

将 /bin/sh 替换为您要打开的外壳。