我写了一个脚本,它将自动捕获屏幕截图,并触发iSight采取静止的照片时,脚本运行,然后将其上传到FTP。一切都是完美的其他然后一件事,我的FTP需要输入用户名和密码时,提示(后两个图像被捕获)
这就是我所拥有的:
echo “GOLDENEYE ACTIVATED….”
screencapture -x screen.jpg
imagesnap Mugshot.jpg
ftp <YourServerHere>
字符串
终端响应:
Connected to <YourServerHere>
型
现在,当出现以下内容时,必须输入“”:
220 Welcome to <ServerDomain>, FTP server standing by ...
Name (<ServerName>.<DomainName>.:<Name>): <Type UserName Here - Hit Enter>
型
而且,密码将在成功输入有效的密码后输入:
331 Hello <UserName>, your FTP account password is required:
Password: <Type Your Password Here - Hit Enter>
型
输入正确的凭据后,终端将响应:
230-Login successful, your current directory is /
230 0 Kbytes used (0%) - authorized: 7340032 Kb
Remote system type is UNIX.
Using binary mode to transfer files.
型
然后,上传图片:
ftp> put /Mugshot.jpeg
ftp> put /Screen.jpeg
型
我试图自动用户名和密码输入后,提示,为了使脚本成功
文本将是在给出每个提示之后输入的“用户名”和“密码”。
我完全是新的终端和脚本,只是在我的业余时间玩,请原谅任何不正确的地方,感谢任何帮助和教育!
1条答案
按热度按时间ohfgkhjo1#
一般的解决方案是
expect
command。“但对于你的任务来说,这是一个矫枉过正。
ftp
从标准输入读取命令。所以才这么做:
字符串
-n
防止自动提示输入用户名/密码。我们使用下面的user
命令显式提供这些提示。commands.txt
文件如下所示:型