bash 기록에 명령을 영구적으로 저장

bash 기록에 명령을 영구적으로 저장

bash 기록에 명령을 영구적으로 저장하는 방법이 있습니까? 실제 시나리오는 다음과 같습니다.

저는 C 프로젝트를 가지고 있는데 프로젝트를 구성하려면 기억하기 힘든 매우 긴 명령을 실행해야 합니다. 구성하고 구축하고 나니 한 달 정도는 명령어가 필요없더군요. 이전 명령은 bash 기록에서 자동으로 삭제되므로 다음에 해당 명령이 필요할 때 기록에 표시되지 않습니다.

참고: 스크립트 파일에 명령을 저장하고 필요할 때 스크립트를 실행하는 것과 같은 솔루션을 게시하지 마십시오.

답변1

별칭을 사용하면 간단히 이 작업을 수행할 수 있습니다. 별칭을 영구적으로 만들려면 파일에 추가하면 됩니다 ~/.bashrc. 예를 들어, 행을 추가하면 쉘에 해당 행을 입력할 때마다 alias list='ls -la'명령이 실제로 실행됩니다 . 파일에 넣지 않고 명령줄에서 별칭을 생성하면 쉘에 다시 들어갈 때마다 별칭이 손실됩니다.listls -labashrc

답변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

관련 정보