History 명령이 스크립트 파일에서 아무 작업도 수행하지 않는 이유는 무엇입니까?

History 명령이 스크립트 파일에서 아무 작업도 수행하지 않는 이유는 무엇입니까?

다음을 포함하는 파일을 생성하면

 #!/bin/bash 
 history

실행해봐도 아무런 결과가 나오지 않습니다. 터미널에서 수동으로 실행하거나 source스크립트 파일을 사용하십시오 .하다출력을 생성합니다.

history파일에서 작업할 수 없는 이유는 무엇입니까 ?

답변1

두 번째 명령은 "작동"하지만 비대화형 쉘에서는 기록이 활성화되지 않으므로 스크립트에서 아무것도 반환하지 않습니다.

비대화형 셸에서 기본값을 테스트합니다.

nohistory.sh:

#!/bin/bash
set -o | grep history
history

결과:

$ ./nohistory.sh
history         off

기록 활성화 set -o history:

history.sh:

#!/bin/bash
set -o history
set -o | grep history
history

결과:

$ ./history.sh
history         on
    1  set -o | grep history
    2  history

관련 정보