history
스크립트의 활성 쉘 세션에서 명령 출력을 사용하려면 별명을 사용하여 명령을 먼저 실행할 수 있습니다. 그런 다음 동일한 별명에서 나머지 스크립트를 호출 할 수 있습니다. 이러한 구성 history
을 사용하면 실제 스크립트에서 명령 을 갖는 것과 본질적으로 동일한 결과를 얻을 수 있습니다 .
예를 들어, 스크립트 이름이 script.sh 인 경우 다음과 같이 별명을 작성할 수 있습니다.
alias hy_tmp='history | tail -100 > /tmp/history.log ; bash /patch/to/script.sh'
스크립트를 다음과 같이 변경하십시오.
#!/bin/bash
cd /tmp
uuencode history.log history.txt | mail -s "History log of server" hello@hel.com
~/bash_history
두 컴퓨터에서 파일 을 결합, 정렬 및 동기화하는 프로세스를 작성하는 동안이 질문을 발견 했으므로 과거에 사용한 명령을 쉽게 검색 할 수 있습니다.
업데이트하기 위해 새 셸에 로그인하지 않고도 누적 기록 파일을 업데이트하는 것이 번거롭지 ~/bash_history
않습니다. 다른 답변에서 언급했듯이 서버 모니터링의 경우 분명히 작동하지 않습니다.
특히 내 사용법은 다음과 같습니다.
alias hbye='history | cut -c 8- > /home/chris/.bash_history_c; bash /hby.sh
hby.sh
그런 다음 스크립트 는 모든 ~/.bash_history*
파일 에서 모든 고유 항목을 가져옵니다 .
histtest.sh: 5: set: Illegal option -o history