Export Bash command-line-argument variables for use in embedded Expect

给你一囗甜甜゛ 提交于 2019-12-04 12:04:32

Code with nesting quotes is not easy to write and read. I recommend you use the shell's here-document syntax. For example (demo'ing 2 ways of passing bash vars to expect):

$ cat foo.sh
arg1=$1
export arg2=$2

expect << END
puts $arg1
puts \$env(arg2)
END
$ bash foo.sh hello world
hello
world
$

I prefer export var from the shell and reference it with $env(var) in expect as you'll not have to worry about if the var has some special chars (like ', " or spaces) in it.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!