我是 Ubuntu Server 新手,在使用 Putty 远程访问我的机器时遇到了一些烦人的问题。当我创建一个用户然后以该用户身份登录时,终端总是以“#”开头,而不是“user@hostname:~#”,当我想像平常一样查看我更改目录的位置时,这毫无用处。
此外,当以用户身份登录时,我无法按光标键来移动插入符号(闪烁的东西),也无法按向上键来查看之前执行的命令。相反,它给出了按下按钮的以下表示:^[[D ^[[A ^[[B ^[[C。按 Delete 键也会给出 ^[[3~。
这对我来说很奇怪,因为当以 root 身份登录时,一切都正常。我希望这只是我在 Putty 中意外更改的内容,或者错误地添加了用户,或者只是打开了大写锁定。谢谢。
答案1
登录后,尝试bash
在提示符下键入以启动 bash shell。听起来你进入了错误的 shell(可能是 sh),尽管 bash 应该是默认的。至于设置提示符,你需要研究设置环境变量PS1
。
答案2
Bash 默认设置了行编辑和友好的提示符。若要设置更具信息性的提示符(如果尚未设置),您可以设置PS1
环境变量:
PS1='\u@\h:\w\$ '
要将用户的登录 shell 更改为 Bash:
chsh -s /bin/bash username
或者在创建用户时设置:
adduser --shell /bin/bash (other options)
或者通过编辑/etc/adduser.conf
来设置默认 shell。
在您的问题中,您显示#
为提示符。这通常表示 root 用户。最好不要以 root 身份运行。以普通用户身份登录并用于sudo
执行管理功能。
我建议将 root 用户的 shell 设置为sh
,在极少数情况下需要以 root 身份登录时,如果您想使用 Bash,只需在命令行启动它。