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