如何更改终端中 @ 符号后的文本?

如何更改终端中 @ 符号后的文本?

我怎样才能更改 @ 符号后面的文本?我不知道它是什么意思。

在此处输入图片描述

它说DESKTOP-HMEEP40

答案1

DESKTOP-HMEEP40您询问的这个字符串可能是\h中检索到的主机名$PS1。更改它的方法因操作系统/发行版而异。systemd您可以通过调用

hostnamectl set-hostname new_name_here

整个字符串由shell 变量root@…定义:PS1

PS1

每次交互式 shell 准备读取命令时,该变量的值都应进行参数扩展并写入标准错误。[…]

来源

运行printf '%s\n' "$PS1"看看你的情况中的变量是什么。它可能包含一些特殊字符串,如\u, \h。Bash 参考手册的相关片段是这里. 您可以PS1像(几乎)任何其他变量一样进行更改:

PS1='whatever '

要进行永久性更改,请在文件中定义变量.bashrc

此搜索结果可能会给你一些有趣的例子。

答案2

root@DESKTOP-HMEEP40:~# (提示变量可能类似于\u@\h:\w\$:)

  • root用户名
  • DESKTOP-HMEP40主机名
  • ~当前目录
  • #通常指定 root/超级用户,而$通常适用于所有其他帐户

PS1/变量prompt决定了 shell 提示符的格式,其格式和布局取决于所使用的操作系统和 shell。它通常位于 shell 的配置文件或用户的配置文件中。


PS1/变量的语法prompt随每个 shell 和 OS 而变化:

  • /短跑(BusyBox)

    • 无颜色

      export PS1='\u@\h \w\$ '
      
      • \u用户名
      • \h主机名
      • \w工作目录
      • \$promptchars shell 变量
    • 有颜色

      export PS1='[\[\033[34m\]\u\[\033[0m\]\[\033[32m\]@\[\033[0m\]\[\033[34m\]\h\[\033[0m\]] \[\033[34m\]\w\[\033[0m\] \[\033[32m\]\$\[\033[0m\] '
      
  • 狂欢(Ubuntu)

    • 无颜色

      PS1='[${debian_chroot:+($debian_chroot)}\u@\h]:\w\$ '
      
      • \u用户名
      • \h主机名
      • \w工作目录
      • \$promptchars shell 变量
    • 有颜色

      PS1='[${debian_chroot:+($debian_chroot)}\[\033[38;5;039m\]\u\[\033[00m\]\[\033[38;5;154m\]@\[\033[00m\]\[\033[38;5;039m\]uvm\[\033[00m\]] \[\033[38;5;039m\]\w\[\033[00m\] \[\033[38;5;154m\]\$\[\033[00m\] '
      
  • 电源外壳(微软)

    • 无颜色

      Function set-prompt {
        "$ESC[$($executionContext.SessionState.Path.CurrentLocation)$('$' * ($nestedPromptLevel + 1)) $ESC[0m"
      }
      
    • 有颜色

      Function set-prompt {
        Param (
          [Parameter(Position=0)]
          [ValidateSet("Default","Test")]
          $Action
        )
      
        switch ($Action) {
      
          "Default" {
            Function global:prompt {
              if (test-path variable:/PSDebugContext) { '[DBG]: ' }
                write-host " "
                write-host ("$ESC[48;2;40;40;40m$ESC[38;2;170;210;0m$(Get-Location) $ESC[0m $ESC[0m")
      
              if ( $host.UI.RawUI.WindowTitle -match "Administrator" ) {
                $Host.UI.RawUI.ForegroundColor = 'Red'
                $(if ($nestedpromptlevel -ge 1) {
                  write-host ('PS $$ ') -ForegroundColor Red -NoNewLine
                } else {
                  write-host ('PS $ ') -ForegroundColor Red -NoNewLine
                })
      
              } else {
                $(if ($nestedpromptlevel -ge 1) {
                  write-host ('PS $$ ') -ForegroundColor Blue -NoNewLine
                } else {
                  write-host ('PS $ ') -ForegroundColor Blue -NoNewLine
                })
              }
      
              return " "
            }
          }
        }
      }
      
      set-prompt Default
      
  • tcsh(BSD)

    • 无颜色

      set prompt = "%N@%m:%~ %# "
      
      • %N有效用户名
      • %m主机名
      • %~工作目录
      • %#promptchars shell 变量
    • 带颜色:

      set prompt = "[%{\033[34m%}%N%{\033[0m%}%{\033[32m%}@%{\033[0m%}%{\033[34m%}%m%{\033[0m%}] %{\033[34m%}%~%{\033[0m%}%{\033[32m%}#%{\033[0m%} "
      

相关内容