簡體   English   中英

我如何在Expect Spawn命令中使用.bashrc命令

[英]How do I use .bashrc command inside expect spawn command

我正在嘗試在我的期望腳本中運行自定義.bashrc命令,但無法識別該命令。 這是顯而易見的,因為每個腳本都在其自己的外殼中運行,但是我無法獲得source ~/.bashrc因為它會返回invalid command name "-f" (不確定從何處獲取“ -f”) 。 有沒有人對如何做到這一點有任何建議? 另外,如果其他問題很明顯,請忽略它們,因為我會自己解決這些問題,我只需要有關spawn命令的幫助即可。

以下是我的期望腳本($ USER和$ PASS是從其他bash腳本傳遞的)

#!/usr/bin/expect
log_file expectLog.log ;#
cd ~/customDirectory
source ~/.bashrc
spawn customCommandName param1 param2
expect -exact "User Name:"
send -- $USER
expect -exact "Password:"
send -- $PASS

您需要啟動一個交互式bash shell(讀取.bashrc)來運行該函數:

spawn bash -ic "customCommandName param1 param2"

發送內容時,請不要忘記按回車鍵:

send -- "$USER\r"

$ USER變量來自哪里? 如果是環境變量,請執行此操作

send -- "$env(USER)\r"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM