[英]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.