有没有一种简单的方法可以在登录时向用户询问问题?
(假设所有登录都是通过 ssh 和纯文本界面。)
在最简单的情况下,问题可能有一个是/否答案,或者从几个选项中进行选择,但更典型的是,问题将有一个开放式字符串作为答案。
答案1
您可以附加您的问题/答案脚本/etc/profile
(假设您用作bash
用户的登录 shell)。文档 解释何时/etc/profile
使用、何时bash
启动。
答案2
我为我的 centos 机器做了这个,它似乎有效:
在用户的 .bash_profile 中
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
这样,如果答案已经存在,它就不会再询问。它看起来像这样:
[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 ~]$