ignoreeof
내장 함수를 사용했을 때 set
"IGNOREEOF=n" 변수와 "ignoreeof=n" 단어를 제약 조건으로 사용할 수 있다는 것을 깨달았습니다. 예를 들어;
└─$ bash
└─$ set -o ignoreeof
└─$ IGNOREEOF=2
└─$
Use "exit" to leave the shell.
└─$
Use "exit" to leave the shell.
└─$
exit
└─$ bash
└─$ set -o ignoreeof
└─$ ignoreeof=2
└─$
Use "exit" to leave the shell.
└─$
Use "exit" to leave the shell.
└─$
exit
알아요"EOF 무시=n"다양한데 그게 뭔지 모르겠어요"무시=n".감시당하고 set
수출 env
됐어요"EOF 무시"하지만"소홀히 하다" 아니요.
답변1
매뉴얼 페이지에는 set -o ignoreeof
다음과 같이 언급되어 있습니다.
효과는 쉘 명령 'IGNOREEOF=10'을 실행하는 것과 같습니다.
실제로 이것은 문자 그대로입니다.
$ echo $IGNOREEOF
$ set -o ignoreeof
$ echo $IGNOREEOF
10
반대의 set +o ignoreeof
작업을 수행 IGNOREEOF
하고 설정을 해제하고 설정 시 SHELLOPTS
포함된 것처럼 보입니다 (할당 또는 설정 여부에 관계 없음 ). (Bash 4.4로 테스트했습니다.)ignoreeof
IGNOREEOF
set -o ignoreeof
소문자 변수에는 ignoreeof
특별한 효과가 없을 수 있습니다.
이상하지만 소문자 변수는 ignoreeof
대문자 변수와 문서화되지 않은 동일한 것으로 보입니다. 따라서 두 가지 중 하나를 변경하면 필요한 EOF 수가 변경되는데, 이는 두 번째 예에 있는 것 같습니다.
유지관리자에 따르면, 소문자
이전 버전과의 호환성을 위해서만 존재하며 더 이상 사용되지 않으며 수년 동안 사용되었습니다.
그러나 일반적으로 set -o
플래그와 변수는 다릅니다.