这个问题在这里已经有了答案:UseExpectinaBashscripttoprovideapasswordtoanSSHcommand(9个回答)关闭5年前。我正在尝试将文件从远程服务器复制到本地。这是我运行它的脚本,通过使用“expect”自动发送密码scpuser@host:/folder/myFile./expect"Password:"send"myPassword"当我运行它时,它仍然提示输入“密码”,这是怎么回事?
我正在运行以下脚本#!/usr/bin/expect-fsetuser[lindex$argv0]setpass[lindex$argv1]setPATH[lindex$argv2]setINV_PATH[lindex$argv3]spawnssh-oUserKnownHostsFile=/dev/null-oStrictHostKeyChecking=no$user@localhostexpect"assword:"send"$pass\r"expect"$"send"echo$pass|/usr/local/bin/sudo-S$INV_PATH/orainstRoot.sh\r"
我正在运行以下脚本#!/usr/bin/expect-fsetuser[lindex$argv0]setpass[lindex$argv1]setPATH[lindex$argv2]setINV_PATH[lindex$argv3]spawnssh-oUserKnownHostsFile=/dev/null-oStrictHostKeyChecking=no$user@localhostexpect"assword:"send"$pass\r"expect"$"send"echo$pass|/usr/local/bin/sudo-S$INV_PATH/orainstRoot.sh\r"
我正在尝试从两个不同的位置运行我的Expect脚本,它将与引用的以下Expect可执行文件一起工作:我的linux主目录(#!/usr/bin/expect)另一台服务器上的clearcaseView(#!/clearlib/vobs/otherdir/bin/expect)问题是我无法在这两个地方运行脚本,除非我将Expect可执行文件位置的引用更改为文件的第一行。如何获得相应目录的Expect可执行文件的正确实例? 最佳答案 如果您的路径在两台服务器上都正确设置,您可以使用/usr/bin/env:#!/usr/bin/enve
我正在尝试从两个不同的位置运行我的Expect脚本,它将与引用的以下Expect可执行文件一起工作:我的linux主目录(#!/usr/bin/expect)另一台服务器上的clearcaseView(#!/clearlib/vobs/otherdir/bin/expect)问题是我无法在这两个地方运行脚本,除非我将Expect可执行文件位置的引用更改为文件的第一行。如何获得相应目录的Expect可执行文件的正确实例? 最佳答案 如果您的路径在两台服务器上都正确设置,您可以使用/usr/bin/env:#!/usr/bin/enve
在这个特定的脚本中,他们使用\n。#!/usr/bin/expectsetpassword[lindex$argv0]spawnasadminenable-secure-adminexpect"admin"send"admin\n"expect"password"send"$password\n"expecteofexit问题\r也能被使用吗?如果不是,有什么区别? 最佳答案 \n为换行,Ctrl-J或字符012。\r为回车,Ctrl-M或字符015。在交互式unix上下文中,当您键入它们时(或模拟键入它们,如expect一样),它
在这个特定的脚本中,他们使用\n。#!/usr/bin/expectsetpassword[lindex$argv0]spawnasadminenable-secure-adminexpect"admin"send"admin\n"expect"password"send"$password\n"expecteofexit问题\r也能被使用吗?如果不是,有什么区别? 最佳答案 \n为换行,Ctrl-J或字符012。\r为回车,Ctrl-M或字符015。在交互式unix上下文中,当您键入它们时(或模拟键入它们,如expect一样),它
我有一个执行多项任务的bash脚本,包括新数据库上的pythonmanage.pysyncdb。此命令要求输入,例如管理员的登录信息。目前,我每次都将其输入命令行。有没有一种方法可以让我自动提供这些回复作为bash脚本的一部分?谢谢,我对bash真的一无所知。我正在使用Ubuntu10.10。 最佳答案 我回答了一个similarquestion在SF上,但是这个更通用,在SO上有很好。“你想为此使用expect。它可能已经在你的机器上[trywhichexpect]。它是任何类型的交互式命令行自动化的标准工具。它是一个Tcl库,因
我有一个执行多项任务的bash脚本,包括新数据库上的pythonmanage.pysyncdb。此命令要求输入,例如管理员的登录信息。目前,我每次都将其输入命令行。有没有一种方法可以让我自动提供这些回复作为bash脚本的一部分?谢谢,我对bash真的一无所知。我正在使用Ubuntu10.10。 最佳答案 我回答了一个similarquestion在SF上,但是这个更通用,在SO上有很好。“你想为此使用expect。它可能已经在你的机器上[trywhichexpect]。它是任何类型的交互式命令行自动化的标准工具。它是一个Tcl库,因
我要自动化遗留系统的安装阶段,因为我不想在我想要安装它时一次又一次地付出更多的努力。在LinuxTerminal的安装过程中,我必须回答一些关于基本配置的问题。实际上,将shell命令全部放入批处理文件中很容易实现自动化,如下所示:bin/startServerdestination/sub_v1bin/startAdminInterface....但是,我不知道如何自动回答如下特定问题:Entertheserver'sIPaddress:Entertheemailofthecontactperson:WouldyouliketodisableUDPservices?(y/n)[n]: