echo $HISTSIZE는 쉘 스크립트를 통해 실행될 때 인쇄되지 않지만 명령줄에서는 작동합니다.

echo $HISTSIZE는 쉘 스크립트를 통해 실행될 때 인쇄되지 않지만 명령줄에서는 작동합니다.

echo 명령만 사용하여 1.sh라는 쉘 스크립트 파일을 만들었습니다.

echo $HISTSIZE

1.sh 파일을 실행 가능하게 만들고 다음 명령을 실행하여 터미널에서 실행해 보았습니다.

./1.sh

터미널에 빈 줄이 인쇄되었습니다. 하지만 쉘 프롬프트에서 이 명령을 실행하면 1000이 출력됩니다.

쉘 스크립트에서 에코가 작동하지 않는 이유는 무엇입니까?

답변1

스크립트는 기본적으로 기록이 비활성화된 비대화형 셸에서 실행됩니다(기록을 지원한다고 가정하지만 sh오늘날 대부분의 구현에서는 그렇습니다) HISTSIZE.

(적어도 Bash에서는) 기록을 강제로 활성화하면 기본값이 표시됩니다.

set -o history
echo $HISTSIZE

관련 정보