기본적으로 bash는 행 ~/.bash_history을 히스토리로 로드합니다 . 로드 할 사용자 정의 파일을 추가 할 수 있습니까? 자주 사용하는 명령이 포함 된 파일을 주입하고 내장 검색을 통해 액세스하고 싶습니다.
/usr/local/bin또는 무언가
.bashrc?
기본적으로 bash는 행 ~/.bash_history을 히스토리로 로드합니다 . 로드 할 사용자 정의 파일을 추가 할 수 있습니까? 자주 사용하는 명령이 포함 된 파일을 주입하고 내장 검색을 통해 액세스하고 싶습니다.
/usr/local/bin또는 무언가
.bashrc?
답변:
alias h='history|grep'내 Bash 프로필에로드하여 간단하게 유지합니다 .
따라서 내 워크 플로는 다음 h command과 같습니다.h hpssa
# h hpssa
202 05-28-2015 11:54:33 hpssacli
217 05-28-2015 11:54:33 hpssa -start
225 05-28-2015 11:54:33 hpssacli -stop
226 05-28-2015 11:54:33 hpssa -stop
228 05-28-2015 11:54:33 hpssa -start
" hpssa -stop" 을 (를) 실행하려면 간단히 입력하십시오.!226
이것은 나의 접근 방식 일뿐이지만 기록 항목을 불러내는 방법을 수정할 수 있습니다. 실제로 기록 파일에 데이터를 주입하는 것이 의미가 없다고 생각합니다.
docker run ...
이전에 입력 한 긴 명령을 검색하기 위해 기록을 거꾸로 검색하는 Ctrl-R( reverse-search-historyReadline 명령) 에 매우 의존 했지만 이제는 별칭과 쉘 스크립트 / 함수를 사용하는 것을 선호합니다. 어쨌든 Bash history내장 명령을 사용하여 사용자 정의 명령 목록을 현재 히스토리에로드 할 수 있습니다.
history -r [filename]
bash 매뉴얼 페이지에서 :
히스토리 파일의 내용을 읽고 현재 히스토리 목록에 추가하십시오.
방금이 명령을 내 마지막 줄로 추가하여 자동으로 시작하려고했습니다 .bashrc. 그러나 새 쉘을 시작할 때 사용자 정의 히스토리 파일의 명령을 사용할 수 없었습니다. 쉘의 역사는 단지 기본에서로드 것 같습니다 .bash_history: 파일 후 시동 파일이 처리 된 바로 전에 프롬프트 대화 형 쉘 표시됩니다. 불행히도 이것을 자동화하는 쉬운 방법이없는 것 같습니다.
@AnthonyGeoghegan이 관찰 한 것처럼 시작 파일이 처리 된 후 기록이로드됩니다. 시작 파일에 원하는 기록을 미리로드하는 다른 방법을 제공합니다.
mv .bash_history .bash_history.tmp
cat .extra_hist .bash_history.tmp > .bash_history
# or swap them, to put the extra stuff at the end of the history, for
# quicker ^R access.
이 방법을 사용하면 시간이 지남에 따라 여러 개의 특수 명령 사본이 .bash_history에 추가 될 수 있습니다. 특수 명령을 주석 줄로 감쌀 수 있으므로 .bash_history 파일을 채우는 과정에서 sed 등을 통해 명령을 쉽게 찾아 제거 할 수 있습니다. 다음과 같은 것 :
cp .extra_hist .bash_history
sed '/: remove from here/,/:remove to here/d' .bash_history >> .bash_history