我将如何进行交互式登录

afb*_*201 0 bash login ftp

我在使用交互式登录制作脚本时遇到了麻烦。我做了一个,但它不要求登录,当我运行脚本时它会自动登录。

我只需要这样的输出:

please enter ftp server :
username :
password :
Run Code Online (Sandbox Code Playgroud)

roz*_*acz 6

使用read(见help read) - 可以是这样的:

read -p "please enter ftp server : " SERVER
read -p "username : " USERNAM
IFS= read -s -p "password :" USERPSS
Run Code Online (Sandbox Code Playgroud)

这样一来,你就必须在变量,分别收集的服务器,用户名和密码$SERVER$USERNAM$USERPSS。(请注意,由于-s,密码不会被回显,并且由于IFS=,它可以在开头包含空格。)

请记住,即使在提示时未显示密码,您也不应$USERPSS直接在类似 的命令中使用该变量ftp "${USERNAM}:${USERPSS}@{SERVER}",因为它会显示给ps在此计算机上运行(例如)的任何其他用户。最好将密码直接作为程序的输入传递,或者(最好)让程序要求它。