답변:
다음은에 대한 bash 4.0 or higher only
것이지만 트릭을 수행합니다. :)
#!/bin/bash -i
history | grep sometext
공장! 사용해보십시오. ( -i
= 난 nteractive, 플래그 하지 배시 3.X 사용할 이하)
예를 들어 shebang 행이 실행 파일 인 실행 파일을 실행하여 bash 쉘 스크립트를 실행 #!/bin/bash
하면 스크립트는 비 대화식 쉘에서 실행됩니다. 비 대화식 쉘의 기능 중 하나는 히스토리가 사용 불가능하다는 것입니다. 따라서 스크립트가 히스토리를 사용할 수있게하려면 다음과 같이해야합니다.
#!/bin/bash
HISTFILE=~/.bash_history # Or wherever you bash history file lives
set -o history # enable history
history | grep git
물론,이 경우 방금 수행 할 수 있습니다.
grep git ~/.bash_history
위의 두 가지 모두 히스토리 파일 ( ~/.bash_history
)이 최신 상태 여야하므로 거의 확실하지 않습니다.
shebang 행을 제거한 후 스크립트를 어떻게 실행하는지 잘 모르겠습니다. 파일을 소싱 (예., 함께하는 .
)입니다 없는 역사를 가지고 현재 쉘에서 실행되는 명령을 활성화하기 때문에 스크립트를 실행하는 것과 동일합니다.
bash
좌절감 때문에 v3 사용자, 하하). 적어도 Martin에게는 내 솔루션이 큰 도움이 되었기 때문에 (적어도) 편안합니다.