我想接受幫助解決我的期望腳本問題。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