현재 설정에서 모든 bash 기록은 다음을 가리키는 파일에 저장됩니다.HISTFILE.
이 기록에는 호스트 시스템과 모든 컨테이너의 기록이 포함됩니다.
이 기록에 더해 각 컨테이너에 대해 설정하고 싶습니다 bash_history_<cont_name>
.
설정 세부정보:
- 호스트 시스템에는 도커 컨테이너 설정이 있습니다.
- 모든 컨테이너는
/home/uname/
호스트 시스템과 공유됩니다. (.bashrc도 공유됩니다) - [호스트 및 모든 컨테이너]에 대한 모든 명령 기록이 기록됩니다
HISTFILE
. - 빠른 업데이트를 위해
HISTFILE
다음과 같이 .bashrc의 프롬프트를 업데이트하세요.
PROMPT_COMMAND="${PROMPT_COMMAND:+$PROMPT_COMMAND$'\n'}history -a; history -c; history -r"
이 시스템이 갖춰져 있습니다. 또한 컨테이너 내에서 사용된 명령 기록을 해당 컨테이너 관련 파일에 저장하고 싶습니다.
전임자. 컨테이너의 경우 ContA
명령 ContB,
기록은 공개 "HISTFILE"에 저장되며 개별 컨테이너의 명령 기록도 업데이트되어야 합니다. 의 경우 ContA
도 ~/bash_history_ContA
업데이트해야 합니다.
PS: 단일 파일 명령 기록은 명령 실행 후 즉시 업데이트됩니다. 각 bash_history_<cont_name>
컨테이너는 지연된 업데이트 파일일 수 있습니다.
답변1
"명령 실행 후 즉시 단일 파일 명령 기록 업데이트"의 경우 다음 명령을 사용하여 이 작업을 수행할 수 있습니다.이 질문에 대한 답변 3개 중 1개(어떤 것이 당신에게 가장 적합한지 테스트해보세요)
PROMPT_COMMAND에서는 원하는 전역 파일에 리디렉션을 추가할 수도 있습니다. 각 프롬프트 앞에 최신 명령을 추가하기만 하면 됩니다. (주의: 일부는 여러 줄일 수 있습니다)