bash 쉘에 들어가면
touch $HOME/tmp
echo "last thing" >> $HOME/tmp
history -r $HOME/tmp
그런 다음 위쪽 화살표를 클릭하면 "마지막 사항"이 표시됩니다.
동일한 줄을 스크립트에 붙여넣고 스크립트를 가져오면 동일한 결과를 얻습니다.
하지만 이렇게 하면 작동하지 않습니다.
bash --init-file <(echo "history -r $HOME/tmp")
답변1
--init-file
${HISTFILE:-$HOME/.bash_history}
먼저 처리한 후 콘텐츠를 정상적으로 로드하세요. 파일에 $HISTSIZE
항목이 포함된 경우(일반적인 경우) 로드된 항목은 history -r tmp
기록 목록의 시작 부분에서 밀려나 손실됩니다.
다음 변형이 저에게 효과적이었습니다(CentOS 4.1.2에서).
bash --init-file <(echo history -r temp; echo HISTFILE=/dev/null)
# in new shell history contains only the line(s) from temp
bash --init-file <(echo history -r temp; echo let HISTSIZE+=100)
# in new shell history contains the line(s) from temp THEN .bash_history