我試圖從Windows服務器使用Cygwin來自動執行某些需要在遠程Linux服務器上運行的命令。爲了解決這個問題,我構建了一個期望腳本,該腳本在Cygwin中運行,以SSH方式連接到Linux服務器並執行相應的命令。Windows批處理 - 調用Cygwin執行TCL期望腳本
現在我試圖通過使用批處理腳本封裝Cygwin的執行,並通過Windows任務計劃程序進行計劃來進一步實現自動化。
我已經嘗試了以下從我的批處理腳本中調用擊:
c:\cygwin64\bin\bash C:\myscript.exp
這將導致腳本拋出一個錯誤時,TCL預計將出現語言的語法。
我也嘗試了以下調用從我的批處理腳本期望:
c:\cygwin64\bin\expect C:\myscript.exp
這將導致腳本時,我嘗試產卵SSH
這裏拋出一個錯誤是從我的片段期望腳本:
#!/usr/bin/expect
proc doSomething {p1 p2} {
expect "* information here:"
send -- "$p1\r"
}
set server [lrange $argv 0 0]
spawn ssh [email protected]$server
# Additional commands below
有沒有什麼辦法讓我得到這個解決方案的工作?
編輯:
下面是錯誤消息,當我使用bash可執行文件,啓動腳本:
C:\scpbot_reset>scpbot_reset.bat
C:\cygwin64\home\myaccountr\scpbot_reset\reset_script: line 2: proc: command not fo
und
C:\cygwin64\home\myaccountr\scpbot_reset\reset_script: line 3: expect: command not
found
C:\cygwin64\home\myaccountr\scpbot_reset\reset_script: line 4: send: command not fo
und
以下是錯誤消息時我用期待的可執行啓動腳本:
C:\scpbot_reset>scpbot_reset.bat
couldn't execute "ssh": no such file or directory
while executing
"spawn ssh [email protected]"
(file "C:\cygwin64\home\myaccountr\scpbot_reset\reset_script" line 14)
當您嘗試產生SSH時,您能否提供錯誤? – tomdemuyt
@tomdemuyt我添加了錯誤信息 – RavB