![我将如何进行交互式登录](https://linux22.com/image/3004/%E6%88%91%E5%B0%86%E5%A6%82%E4%BD%95%E8%BF%9B%E8%A1%8C%E4%BA%A4%E4%BA%92%E5%BC%8F%E7%99%BB%E5%BD%95.png)
我在制作带有交互式登录的脚本时遇到了麻烦。我做了一个,但它不要求登录,当我运行脚本时它会自动登录。
我只需要这样的输出:
please enter ftp server :
username :
password :
答案1
使用read
(参见help read
) - 可以像这样:
read -p "please enter ftp server : " SERVER
read -p "username : " USERNAM
IFS= read -s -p "password :" USERPSS
这样,您将分别在变量 、 和 中收集服务器、用户名$SERVER
和$USERNAM
密码$USERPSS
。 (请注意,由于-s
,密码不会被回显,并且由于IFS=
,它可以在开头包含空格。)
请记住,即使提示时未显示密码,您也可以不应该$USERPSS
直接在类似 的命令中使用该变量,因为它将向在此计算机上运行(例如)ftp "${USERNAM}:${USERPSS}@{SERVER}"
的任何其他用户显示。ps
最好直接将密码作为程序的输入传递,或者(最好)只是让程序询问它。