シェル履歴を有効にする[閉じる]

シェル履歴を有効にする[閉じる]

bashや他のシェルを起動すると、履歴はありません。何ができるのかご存知ですか?上矢印を試してみましたが、OpenBSDまたはUbuntu xenialを使用して新しいシェルを起動しても効果はありません。

上記のすべての設定を試して、$HISTFILE私の設定で設定し、ログアウトして.profile再度ログインし、2つの異なるオペレーティングシステムを使用しています。

これはまさに私の設定であり、デフォルトではログインして記録がない方法です。

developer@1604:~$ ssh 127.0.1.2 -l root -p 2223
[email protected]'s password: 
Last login: Sat Aug 19 01:34:14 2017
OpenBSD 6.1 (GENERIC) #19: Sat Apr  1 13:42:46 MDT 2017

Welcome to OpenBSD: The proactively secure Unix-like operating system.

Please use the sendbug(1) utility to report bugs in the system.
Before reporting a bug, please try to reproduce it with the latest
version of the code.  With bug reports, please try to ensure that
enough information to reproduce the problem is enclosed, and if a
known fix for it exists, include that as well.

# history                                                               
ksh: fc: no history (yet)
# more .profile                                                                
# $OpenBSD: dot.profile,v 1.9 2010/12/13 12:54:31 millert Exp $
#
# sh/ksh initialization

PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/sbin:/usr/local/bin
export PATH
: ${HOME='/root'}
export HOME
umask 022

case "$-" in
*i*)    # interactive shell
        if [ -x /usr/bin/tset ]; then
                if [ X"$XTERM_VERSION" = X"" ]; then
                        eval `/usr/bin/tset -sQ '-munknown:?vt220' $TERM`
                else
                        eval `/usr/bin/tset -IsQ '-munknown:?vt220' $TERM`
                fi
        fi
        ;;
esac
# 

答え1

~./profileあなたのいいえ現在の履歴保存を有効にします(HISTFILE設定なし)。

ksh基本システムのOpenBSDシェルの場合:

ファイルを編集し、~/.profile次の行を追加します。

export ENV="$HOME/.kshrc"

~/.kshrc次に、次の行を編集して追加します。

set -o emacs
HISTFILE="$HOME/.ksh_history"

これだけで十分です。これはset -o emacs、矢印キーが期待どおりに機能するようにするためのものです(この問題があると考えられます)。

対話型シェルに別々のファイルを使用したくない場合は、HISTFILE="$HOME/.ksh_history"自分で設定するだけで十分です。.profile

保存する履歴エントリの数を指定することもできます。たとえば、次のようになります。

HISTSIZE=5000

デフォルトはHISTSIZE500 です。

これは私が書いた内容です私の以前の答えまた。


現在(2017年8月末)、および(で提供されているように)kshなどのさまざまな記録関連機能用のOpenBSD専用のCVS実装シリーズがあります。HISTCONTROLignoredupsignorespacebash

答え2

この行~/.bashrc

set -o history
HISTFILE=$HOME/.bash_history
HISTFILESIZE=500
HISTSIZE=500
shopt -s histappend

次に、コマンドを入力し、source .bashrcその後にいくつかのランダムなコマンドを入力します。次に、履歴があることを確認します(historyコマンドラインに入力するか、上矢印を使用)。

関連情報