쉘 기록 활성화 [닫기]

쉘 기록 활성화 [닫기]

bash나 다른 쉘을 시작하면 기록이 없습니다. 내가 무엇을 할 수 있는지 아시나요? 위쪽 화살표를 사용해 보았지만 OpenBSD 또는 Ubuntu xenial을 사용하여 새 셸을 시작하면 아무런 효과가 없습니다.

언급된 모든 구성을 시도하고 $HISTFILE내 구성에서 설정한 다음 .profile로그아웃했다가 다시 로그인했으며 두 가지 다른 운영 체제를 사용하고 있습니다.

이것은 정확히 내 구성이며 기본적으로 로그인하고 기록이 없는 방법입니다.

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명령줄에 입력하거나 위쪽 화살표 사용).

관련 정보