我需要傳遞一些命令給終端拋出C程序,並在此之後得到它的輸入。 作爲它的一部分,我有一個必須放置Expect腳本的行。字符在C中轉義
FILE *command = popen("script here","r");
腳本我需要執行是:
expect -c 'spawn ssh [email protected] cat /proc/stat
expect {
-re ".*yes/no.*" {
send "yes\r"
exp_continue
}
"password:" {
send -- "password\r"
}
}
interact'
所以,我需要這樣的腳本工作,因爲它需要努力逃避幾個字符。 我嘗試了不同的轉義序列,但都是不正確的。
並感謝您的關注。
UPD:
沒有逃脫我收到錯誤在編譯時(「, 」流浪程序\ '「 等 」前`*語法錯誤'「)。 我認爲這個問題是由新行引起的,但如果我簡單地將它寫在一行中,腳本就不起作用。我試圖使用\ n,但這並沒有幫助我。
所以,我不能簡單地複製和粘貼腳本到C文件,它需要一些處理
爲什麼你需要逃避這個腳本的內容?只有在將字符串或字符文字寫入C源節點時才需要轉義,而不是從外部文件讀取數據時。 – templatetypedef 2011-01-13 08:56:21
你嘗試過哪些轉義序列,結果如何? – 2011-01-13 08:57:41