我可以毫無問題地訪問遠程服務器,並且我想發送bwcli
命令,它是Broadworks服務器的CLI。我正在使用shell代碼發送命令。用ansible執行Expect命令不會輸出任何內容
通常情況下,如果我想進入我型bwcli
的CLI但這樣做時,它無法識別遠程所以我sendig這個sudo -u bworks /usr/local/broadworks/bw_base/bin/bwcli
,而不是像這樣:
#! /usr/bin/expect
expect ":"
send "sudo -u bworks /usr/local/broadworks/bw_base/bin/bwcli\r"
expect ">"
send "?\r"
expect "AS_CLI>"
我的劇本就像做這個:
-script: /home/ansible/playbooks/David/get_command.sh >> bwcli_login.log
當劇本運行時,它顯示OK=1 changed=1 unreachable=0 failed=0
。 所以我假設它可以工作,但是當我打開「bwcli_login.log」時,我發現它是空的。 這只是我在進入CLI時想要的代碼中的第一步,我發送了一些其他命令來檢索服務器的某些信息。這是令人討厭的,我卡在第一步:( 我欣賞,如果有人可以告訴我爲什麼文件輸出文件是空的?我做錯了什麼?
嗨柏林,感謝您的反饋。我已遵循您的建議,並得到:[ok:[AS_2] => { 「changed」:false, 「out.stdout_lines」:[ 「」, 「您的密碼將在762天后過期。 「, 」/ usr/local/broadworks/bw_base/bin/bwcli「 ] } – ChakEL
我不確定您應該看到什麼,但現在您可以看到腳本的輸出。 – Berlin
好的,所以我不知道你的問題:) – Berlin