似乎无法获取其他工作的 bash 历史记录

似乎无法获取其他工作的 bash 历史记录

这与其他所有问题非常相似但同时又不相似。

准确地说,我正在运行 Ubuntu 12.04.4 LTS(GNU/Linux 3.2.0-59-generic x86_64)。

我成功地设置了一个新用户:useradd -m webuser,但是,无论我做什么,似乎都无法使大多数 bash 功能(例如自动完成和历史记录)正常工作。

例如我的 .bashrc 文件有:

# If not running interactively, don't do anything
[ -z "$PS1" ] && return

# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoredups:ignorespace

# append to the history file, don't overwrite it
shopt -s histappend

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000

但是当我echo "$HISTFILESIZE"没有得到null但我也没有得到结果时:

$ echo "$HISTFILESIZE"

(不幸的是,由于这个网站试图变得非常智能,所以它不允许我真正地向您展示)。

这适用于所有历史变量。

无论我做什么,我似乎都无法使基本环境变量起作用,而且它似乎无法.bashrc被读取。

除此之外,我的 set -o 还小得可怜:

Current option settings
errexit         off
noglob          off
ignoreeof       off
interactive     on
monitor         on
noexec          off
stdin           on
xtrace          off
verbose         off
vi              off
emacs           off
noclobber       off
allexport       off
notify          off
nounset         off
nolog           off
debug           off

我尝试的所有问题都无济于事,例如:https://superuser.com/questions/174306/how-can-i-enable-the-bash-command-history

我正在通过 PuTTY 使用 SSH 登录。

编辑

直接从 ssh 终端输出 echo $0:

$ echo $0
-sh

答案1

我不确定 100%-sh是什么,但你可能使用的是sh,而不是bash。根据记忆,新用户默认为sh。要让他们自动使用 bash,请/etc/passwd使用 root 权限进行修改。例如

sudo vim /etc/passwd
sudo nano /etc/passwd
gksu gedit /etc/passwd

然后,找到包含您用户名的行。将最后一部分从 (eg) 更改/bin/sh/bin/bash。重新启动终端或再次登录/退出。

相关内容