Linux

終端只顯示 $?

  • May 6, 2011

我最近在我的伺服器上使用“adduser username”設置了一個新使用者,並註意到當我登錄時我得到:

$

此外,對於我的新使用者,沒有文件夾突出顯示或選項卡完成。

但是,當我以 root 身份登錄時,我會得到一個完整的終端提示以及突出顯示、完成等。

root@lin01:~#

有人知道我做錯了什麼嗎?

**編輯:**解決方案是輸入

chsh -s /bin/bash

使用 $ 登錄時。

您的新使用者的登錄 shell 已設置為/bin/sh,在 Ubuntu 上為破折號。這是一個旨在小而快的外殼,以有效地執行腳本。它沒有任何互動功能。將您的 shell 更改為 zsh(更好)或 bash(更常見):

chsh -s /bin/bash

如果要更改adduser的預設外殼,請編輯/etc/adduser.conf

DSHELL=/bin/bash

在您遵循 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

也擺弄它..擺弄很重要。

引用自:https://serverfault.com/questions/267099