[英]How to prevent a user from using ctrl-c to stop a script?
我在.bash_profile
加載了一個腳本,每當用戶打開終端窗口時,這個腳本都會要求輸入正確的密碼。 如果用戶輸入錯誤的代碼,腳本將運行exit
以停止當前終端。
if [ $code = "980425" ]; then
echo hello
else
exit
fi
但是我意識到用戶總是可以使用ctrl -c來停止腳本並進入終端。 如何避免這種情況?
你總是可以捕獲SIGINT
:
trap 'echo got SIGINT' SIGINT
完成后,再次重新安裝默認處理程序
trap SIGINT
有關詳細信息,請參閱POSIX 規范以獲取陷阱。 這適用於所有 Bourne shell,而不僅僅是 bash。
您可以使用:
trap '' 2
commands
trap 2
這會禁用信號 2(控制 c),然后在命令運行后重新啟用它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.