编写脚本以响应指定文本的提示
Write a Script to respond to prompts with specified text
我正在编写一个脚本,当脚本为 运行 时,它会自动捕获屏幕截图并触发 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
我正在尝试在给出提示后自动输入用户名和密码,以便脚本成功
文本将是 "username" 和 "password" 在给出每个提示后输入。
我对终端和脚本完全陌生,只是在业余时间玩弄,这里有任何不正确的地方请原谅,感谢您的帮助和教育!
一般的解决方案是expect
command。
但对于你的任务来说,这是一个大材小用。
ftp
从标准输入读取命令。
那就这样吧:
ftp -n < command.txt
-n
会阻止 username/password 的自动提示。我们使用下面的 user
命令明确提供这些。
commands.txt
文件如下所示:
open host
user user password
put /path
bye
我正在编写一个脚本,当脚本为 运行 时,它会自动捕获屏幕截图并触发 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
我正在尝试在给出提示后自动输入用户名和密码,以便脚本成功
文本将是 "username" 和 "password" 在给出每个提示后输入。
我对终端和脚本完全陌生,只是在业余时间玩弄,这里有任何不正确的地方请原谅,感谢您的帮助和教育!
一般的解决方案是expect
command。
但对于你的任务来说,这是一个大材小用。
ftp
从标准输入读取命令。
那就这样吧:
ftp -n < command.txt
-n
会阻止 username/password 的自动提示。我们使用下面的 user
命令明确提供这些。
commands.txt
文件如下所示:
open host
user user password
put /path
bye