Como perguntar aos usuários uma pergunta no login?

3

Existe uma maneira simples de fazer uma pergunta aos usuários no login?

(Suponha que todos os logins sejam via ssh e uma interface somente de texto.)

No caso mais simples, a pergunta poderia ter uma resposta sim / não, ou uma escolha de um punhado de opções, mas, mais tipicamente, a pergunta teria uma sequência de caracteres em aberto como resposta.

    
por kjo 06.08.2017 / 15:50

2 respostas

3

Você pode anexar seu script de pergunta / resposta em /etc/profile (supondo que esteja usando bash como seu shell de login para seus usuários). Documentação explica quando /etc/profile é usado quando bash é iniciado .

    
por 06.08.2017 / 16:05
2

Eu fiz isso para minha máquina centos e parece funcionar:

No .bash_profile do usuário

if grep -F "Name:" /home/jbutryn/answers.txt > /dev/null 2>&1; then
    :
else
    read -p "What is your name?: " name
    echo "Name: $name" >> /home/jbutryn/answers.txt
fi

Desta forma, se a resposta já existir, não perguntará novamente. Parece assim:

[root@JBLGSMM001 ~]# su - jbutryn
Last login: Sun Aug  6 14:10:23 UTC 2017 on pts/57
What is your name?: Jesse
[jbutryn@JBLGSMM001 ~]$ cat answers.txt
Name: Jesse
[jbutryn@JBLGSMM001 ~]$ logout
[root@JBLGSMM001 ~]# su - jbutryn
Last login: Sun Aug  6 14:11:21 UTC 2017 on pts/57
[jbutryn@JBLGSMM001 ~]$
    
por 06.08.2017 / 16:12