如何在登录时询问用户问题?

如何在登录时询问用户问题?

有没有一种简单的方法可以在登录时向用户询问问题?

(假设所有登录都是通过 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 ~]$

相关内容