繁体   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