![bash EXIT 트랩 ctrl+d를 사용하여 확인 또는 취소 [중복]](https://linux55.com/image/152018/bash%20EXIT%20%ED%8A%B8%EB%9E%A9%20ctrl%2Bd%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%ED%99%95%EC%9D%B8%20%EB%98%90%EB%8A%94%20%EC%B7%A8%EC%86%8C%20%5B%EC%A4%91%EB%B3%B5%5D.png)
셸을 종료하기 전에 확인을 요구하고 확인이 거부되면 셸이 종료되지 않도록 하는 간단한 방법이 있습니까? 이는 터널에 사용되는 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 유사 쉘에서 사용할 수 있어야 합니다.
관련된: