终端仅显示$?


8

我最近在服务器上使用“ adduser username”设置了一个新用户,并注意到当我登录时会得到:

$

同样,对于我的新用户,没有突出显示文件夹或完成制表符。

但是,当我以root用户身份登录时,会得到一个完整的终端提示以及突出显示,完成等信息。

root@lin01:~#

有人知道我做错了什么吗?

编辑:解决方案是键入

chsh -s /bin/bash

用$登录。


对我来说,在执行命令时要求输入密码。(用户pw)。还要提一下:您需要重新登录才能启用新设置(debian-jessie)
Alex

Answers:


11

新用户的登录shell已设置为/bin/sh,在Ubuntu上为破折号。这是一个旨在变得小巧,快速,有效运行脚本的外壳。它没有任何互动功能。将您的shell更改为zsh(更好)或bash(更常见):

chsh -s /bin/bash

如果要更改adduser默认外壳程序,请编辑/etc/adduser.conf

DSHELL=/bin/bash

我尝试输入chsh bash并说“ bash不是用户”。所以我输入“ chsh username --shell bash”,它说“ bash是无效的shell”。但是我可以输入“ bash”,它会切换到我想要的那个。有什么想法吗?
kidcapital 2011年

好吧,事实证明对我来说正确的命令是:chsh -s / bin / bash ..感谢您指出正确的方向
kidcapital 2011年

@kidcapital:是的,chsh -s /bin/bash是的,我指出了正确的命令,但弄乱了它的语法。抱歉。
吉尔(Gillles)'所以

-4

在遵循Gilles的建议之后,通过将以下代码添加到用户的〜/ .bashrc(以及您的根目录的.bashrc)中,提高提示的威力:

# Black       0;30     Dark Gray     1;30
# Blue        0;34     Light Blue    1;34
# Green       0;32     Light Green   1;32
# Cyan        0;36     Light Cyan    1;36
# Red         0;31     Light Red     1;31
# Purple      0;35     Light Purple  1;35
# Brown       0;33     Yellow        1;33
# Light Gray  0;37     White         1;37

BLUE="\[\033[0;34m\]"
PINK="\[\033[1;35m\]"
WHITE="\[\033[1;37m\]"
LGREY="\[\033[0;37m\]"
LBLUE="\[\033[1;34m\]"
YELLOW="\[\033[1;33m\]"
LRED="\[\033[1;31m\]"
RED="\[\033[0;31m\]"
DGREY="\[\033[1;30m\]"

if [ "$(whoami)" == 'root' ]; then
  PS1="$DGREY]$RED╢$PINK\h$RED╟$DGREY[$LBLUE\w$WHITE:$LGREY "
else
  PS1="$DGREY]$BLUE╢$PINK\h$BLUE╟$DGREY[$LBLUE\w$WHITE:$LGREY "
fi

摆弄它也是..摆弄很重要。


4
-1这不能回答问题,也不适合用于专业系统管理的站点基调。如果此问题/答案位于超级用户或ubuntu.se上,我可能不会拒绝投票。
Zoredache

杜德不明白提示,想要一个不错的提示。我给了他一个示例提示,可以与他一起工作,并鼓励对其进行更改以满足他的需求。
cidermonkey 2011年

1
但是,如果您深入了解该问题,您会发现这与新创建的完全缺乏标准环境有关。请记住,该网站不是论坛,而是问答网站。如果发布答案,则应该是该问题的答案。
Zoredache

2
我认为Zoredache提出的观点(我倾向于同意)是,您没有回答任何人都不知道我做错了什么的最终问题
本·皮尔布罗
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.