bash 기록에 명령을 영구적으로 저장하는 방법이 있습니까? 실제 시나리오는 다음과 같습니다.
저는 C 프로젝트를 가지고 있는데 프로젝트를 구성하려면 기억하기 힘든 매우 긴 명령을 실행해야 합니다. 구성하고 구축하고 나니 한 달 정도는 명령어가 필요없더군요. 이전 명령은 bash 기록에서 자동으로 삭제되므로 다음에 해당 명령이 필요할 때 기록에 표시되지 않습니다.
참고: 스크립트 파일에 명령을 저장하고 필요할 때 스크립트를 실행하는 것과 같은 솔루션을 게시하지 마십시오.
답변1
별칭을 사용하면 간단히 이 작업을 수행할 수 있습니다. 별칭을 영구적으로 만들려면 파일에 추가하면 됩니다 ~/.bashrc
. 예를 들어, 행을 추가하면 쉘에 해당 행을 입력할 때마다 alias list='ls -la'
명령이 실제로 실행됩니다 . 파일에 넣지 않고 명령줄에서 별칭을 생성하면 쉘에 다시 들어갈 때마다 별칭이 손실됩니다.list
ls -la
bashrc
답변2
주요 문제의 경우 스크래치 패드 같은 모든 Furry 명령을 나열하는 텍스트 파일을 갖는 것이 좋습니다. 필요한 경우 복사하여 붙여넣으세요(예:배런권장 사항).
이러한 명령의 기록 검색을 절대적으로 수행하려면 bash가 종료될 때 중요한 명령 목록을 추가해 볼 수 있습니다. 다음은 대략적인 설명입니다.
기록 파일에서 잊어버리지 않도록 할 명령을 다른 파일(예 ~/fixed_hist
: )에 넣으세요. 에 다음을 추가하십시오 ~/.bashrc
.
function prepend_fixed_history
{
fixed_hist_c=$(wc -l ~/fixed_hist | awk '{print $1 }')
head -${fixed_hist_c} ~/.bash_history | \
diff - ~/fixed_hist >/dev/null 2>&1
if [ "$?" -ne "0" ]; then
cat ~/fixed_hist ~/.bash_history > ~/.bash_history_new
cp ~/.bash_history_new ~/.bash_history
fi
}
trap prepend_fixed_history EXIT