我想接受帮助解决我的期望脚本问题。Expect脚本环境变量问题
当我在我的linux终端上使用命令“env”时,我可以看到$INFO_HME
为/app/informatica/etldev/9.1/server
。
,但我无法使用$INFO_HME
它在我期待的脚本和得到错误。我的脚本如下所示。
我推测,$INFO_HME
将在lcd
命令中替换为/app/informatica/etldev/9.1/server
。
#!/usr/bin/expect
spawn /usr/bin/sftp <ID_Here>@<Host_Here>
expect "password:"
send "<Password_Here>\n"
expect "sftp>"
send "lcd $INFO_HME/infa_shared/SrcFiles\n"
expect "sftp>"
send "cd \"/Source/client\"\n"
expect "sftp>"
send "get file.csv\n";
expect "sftp>"
send "quit\n"
错误消息:
sftp> can't read "INFO_HME": no such variable
while executing
"send "lcd $INFA_HOME/infa_shared/SrcFiles\n""
(file "Scr_Webcore_SFTP.sh" line 7)
深深感谢所有帮助解决这个问题。
能否请您交叉检查这mistake-按照脚本派“液晶$ INFO_HME/infa_shared/SrcFiles \ n”,我认为正确的变量应该是$ INFA_HOME。这是informatica env变量,如果您已启动并运行了信息库,则必须设置它。你可以看到的变量可能有些错误。 – Koushik
我已经检查过它。这没有问题。通过使用以下方法解决问题 – aks