Eu tenho um script que continua exibindo o prompt de login:
#!/bin/bash
trap '' 2 20
while true; do
login
done
Isso faz parte de um projeto maior, então, por favor, não me diga apenas para usar o prompt de login do sistema. Isso precisa ser feito através de um script de shell.
A razão de estar em um loop é quando o usuário efetua logout, o script os coloca de volta no prompt de login.
O único problema é que é possível Ctrl + C ou Ctrl + Z e matar o script e, portanto, o prompt. O trap pára Ctrl + C , mas por algum motivo Ctrl + Z ainda pode ser usado para parar o script . Eu sei que é algo a ver com o comando login porque se eu substituir o login por outro comando como echo hello
então Ctrl + Z não parará mais o script (IE continua imprimindo oi).
Como posso capturar Ctrl + Z ?
Tags signals shell-script