expect

    -1熱度

    1回答

    我在一個bash腳本中包含了簡單的Expect命令(我知道我可能只是寫了一個純Expect腳本,但我想從bash中使用它)。 的腳本如下: #!/bin/bash OUTPUT=$(expect -c ' spawn ssh [email protected] expect "password:" send "dog\r" ') 在ssh'ing上述地址,它會返回形式mihail9

    1熱度

    1回答

    更新:在這一點上我非常沮喪。我試着將期望代碼移動到它自己的文件並從bash腳本中調用它。 ... if [[ "$okay" == "OK" ]] then echo "PASSWORD ACCEPTED" echo "Modifying User Passwords..." COUNTER=0 while [ $COUNTER -lt $num ];

    1熱度

    2回答

    我寫了一個期望腳本,它有助於在遠程計算機中執行命令。當執行完成後,我想獲取用戶輸入的一條線,然後將其發送到遠程的bash,這裏是代碼片段: #! /usr/bin/env expect ... spawn ssh -l $user $host ... send_tty -- "Enter your command: " set timeout -1 # match only prin

    0熱度

    1回答

    我有一個包含服務器(空間)的用戶列表的文件,現在我想將這個文件作爲參數傳遞給我的期望腳本,這樣我的腳本將產生一個ssh會話用戶@服務器,並執行了一堆命令和退出。 cat HostsUserFile.txt Server1 User1 Server2 User2 Server3 User3 cat CollectStats.exp ### Get the list of hosts,

    0熱度

    1回答

    我正在編寫一個腳本,最終將在交換機上執行一系列命令(通過SSH)。這些命令存儲在一個文件中,並且命令的數量會有所不同 但是,我不確定如何使用Expect完成這項工作。我知道Expect可以使用while循環,但我找不到明確的示例。有人可以幫忙嗎? /usr/bin/expect <<EOD spawn ssh -o StrictHostKeyChecking=no [email protecte

    1熱度

    1回答

    我想弄清楚如何持續監視我在Expect腳本中產生的shell錯誤的自動SSH會話。有沒有辦法讓後臺進程連續搜索我的SSH會話輸出「-ksh:」? 在KSH中,我只是簡單地捕獲ERR信號,但ERR在Expect中不是有效的信號類型。關鍵是我想監視shell錯誤,所以我可以通過退出處理程序而不是Expect腳本繼續執行。 下面是我的一個shell函數/期望腳本的片段。專門的期望程序已被排除,因爲它們與

    1熱度

    1回答

    我正在尋找使用bash腳本控制已編譯的C程序X的執行流程。程序X僅產生文本輸出,並且我希望在打印某個字符串時立即暫停執行。在此之後,我想切換到bash並執行一些命令,然後返回到完成X.我已經做了一些閱讀和測試,只希望/ bash腳本似乎滿足我的需求。但是,我在實現自己的目標方面遇到困難。 我已經試過了期待腳本中產卵X然後期望「MyString的」其次發送 bash腳本命令,但這只是導致X終止命令後

    0熱度

    1回答

    我想要自動化與流程預計: 1.登陸,在SSH普通用戶 2.su根 3.make diretory /home/test set user xxxx set host yyyy set password1 pass1 set password2 pass2 set timeout 60 spawn ssh [email protected]$host expect "*assword:*

    0熱度

    1回答

    我想通過下面的代碼在服務器中配置默認​​路由。我的問題在於Expect未發送完整路由命令。看起來腳本正在截斷命令。 應該發送route add default gw 5.66.0.1,但它發送route add defaul 我不知道爲什麼發生這種情況。 代碼 puts "Sending route add default gw $cv_chassis_gw_ip_1 command" send

    2熱度

    1回答

    我有一個期望的腳本,我想檢查uname -a。 如果遠程服務器是Linux,那麼我將使用expect運行更多的遠程命令。如果它是艾克斯,那麼我將運行其他幾組命令。但是我無法創建if條件。誰能幫幫我嗎? expect <<'EOF' spawn ssh [email protected] "uname -a" set count 0 expect { "password:" { send