나는 실제로 이것을 하고 싶지 않습니다. 의도하지 않은 결과의 법칙은 이 아이디어에 매우 중요합니다. 이런 능력이 있는지 궁금합니다. 일부 스크립트의 경우 유사한 기능이 브레이크아웃 단계로 유용할 수 있습니다.
${HOME}/.logout
이것을 파일에 쓰고 싶다고 가정해 보겠습니다 .
#! /bin/bash
cd /path/to/git/working/project
if [ "$( git status | wc -l )" -gt 5 ]
then
echo "Check in your work before you leave."
<STOP THE LOG OUT PROCESS AND RETURN TO THE SHELL PROMPT>
fi
마지막 부분은 어떻게 해야 하나요? 네가 break
할래?
답변1
먼저 세션의 종료 동작에 대한 트랩을 구성합니다.
trap ~/.logout EXIT
원한다면 이 트랩 동작을 bashrc에 추가한 다음 사용자가 쉘을 종료하려고 할 때마다 .logout 스크립트를 실행할 수 있습니다.
그런 다음 .logout 스크립트를 작성할 수 있습니다.
#!/bin/bash
cd /path/to/git/working/project
if [ "$( git status | wc -l )" -gt 5 ]
then
echo "Check in your work before you leave."
bash
fi
그런 다음 세션을 종료하려고 하면 .logout 스크립트가 실행되고 사용자가 올바른 작업을 수행했는지 확인하기 위해 bash가 표시됩니다. 사용자가 git에서 올바른 작업을 수행하면 세션이 정상적으로 종료됩니다.