由于某种原因,我没有终端中的命令历史记录,也无法完成路径或命令。按箭头还会显示像^[[D
和 这样的符号^[[C
。
shell 是 bash,并且 .bashrc 具有必要的自动完成配置。
一些输出的结果:
echo $SHELL: /bin/bash
echo $PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin
echo $HISTFILE:
echo $HISTSIZE:
echo $HISTFILESIZE:
echo $TERM: xterm-256color
此外,我的用户名和密码未在$
或之前显示#
。
答案1
通过没有HISTFILE
and HISTSIZE
/ HISTFILEZISE
undefined,您已经表明bash
您不想要历史记录。
以下是bash
我为运行的每个进程获取一个日志文件的方法:
从~/.bashrc
:
[[ -d ~/.history ]] || mkdir --mode=0700 ~/.history
[[ -d ~/.history ]] && chmod 0700 ~/.history
HISTFILE=~/.history/history.$(date +%y%b%d-%H%M%S).$$
# close any old history file by zeroing HISTFILESIZE
HISTFILESIZE=0
# then set HISTFILESIZE to a large value
HISTFILESIZE=4096
HISTSIZE=4096
答案2
您已运行 Debian Almquist shell,并且当前正在与其对话。所有症状均符合:
- 提示是
$
- 没有光标键控制序列识别
+o vi
并+o emacs
在输出中set -o
- 没有改变
set -o emacs
Almquist 外壳能有行编辑功能。FreeBSD Almquist shell 有此功能,BusyBox Almquist shell 也有此功能。DebianAlmquist shell 缺少它,因为它没有被编译进去。DebianAlmquist shell 在 Ubuntu(和 Debian)上被刻意简化,大约十五年前 Ubuntu 和 Debian 就切换/bin/sh
到了它,这显著提高了许多系统脚本的速度,确切地说因为这个壳缺少其他壳的花哨功能。
如果您通过运行来调用它sh
,这很可能是由于环境变量的值SHELL
,exit
该 shell 将返回到您原来的 Bourne Again shell。
进一步阅读
- 破折号。 2007 年。Ubuntu 维基百科。