bash EXIT 트랩 ctrl+d를 사용하여 확인 또는 취소 [중복]

bash EXIT 트랩 ctrl+d를 사용하여 확인 또는 취소 [중복]

셸을 종료하기 전에 확인을 요구하고 확인이 거부되면 셸이 종료되지 않도록 하는 간단한 방법이 있습니까? 이는 터널에 사용되는 SSH 세션이 실수로 종료되는 것을 방지하는 데 유용합니다.

문제는 trap ... EXIT함정을 완성한 후에도 여전히 거기에 있다는 것입니다. 지금까지 내가 찾은 가장 유망한 솔루션은 다음과 같습니다.트랩을 사용하여 종료 확인, ctrl+c에 대해 설명하지만 ctrl+d에서도 작동하는 것 같습니다.

답변1

set -o ignoreeof

EOF이로 인해 대화형 셸이 ( ) 를 무시하게 됩니다 Ctrl+D.

쉘이 bash인쇄됩니다

Use "exit" to leave the shell.

을 누르면 Ctrl+D.

IGNOREEOF쉘 변수를 양의 정수 값으로 설정할 수도 있습니다 . 이 값은 Ctrl+D쉘이 실제로 종료되기 전에 눌러야 하는 횟수를 결정합니다. 이것 set -o ignoreeof의 효과는 bash동일한 설정입니다 IGNOREEOF=10(그 반대도 마찬가지).

ignoreeof옵션은 POSIX 옵션이며 모든 POSIX 유사 쉘에서 사용할 수 있어야 합니다.

관련된:

관련 정보