无法读取文件:在bash脚本中出现错误
问题描述:
我在下面期望嵌入的bash脚本中遇到错误。 当我运行它,我得到下面的错误,并在脚本结束虽然 我给上commandline.The参数指望发送是无法获得$ site变量无法读取文件:在bash脚本中出现错误
./expect_delete "password" usa rvomero
“输入站点名称对于用户名:无法读取文件 “现场”:没有这样的文件或目录”
脚本:
#!/bin/bash
password="$1"
me=`whoami`
site="$2"
list="$3"
echo $site $list
for i in `echo $list`
do
/tools/cfr/bin/expect -c "
set timeout 10
spawn <fullpathtoanotherbashscript> $site $i
expect "Enter site name for $me: "
send "$site\r"
expect "Enter password for $me: "
send "$password\r"
expect eof
"
done
任何帮助表示赞赏
答
你可能会更好封装预计'脚本,这样就不会有任何shell扩展回事,让你的变量它通过简单地把它们导出 -
export USER=fred
expect -c '
set user $env(USER)
....
'
作为一个侧面说明,你确定预期的-c标志允许多行命令吗?如果这导致问题,也许你可以使用heredoc,如[这个问题]所示(http://stackoverflow.com/questions/10393848/using-expect-in-bash-script)。我怀疑你的多个“可能会导致问题 – Aserre
@Ploutox为我工作!! – anudeep
很高兴你解决了你的问题:)我会将你的问题标记为重复,虽然,因为你用我链接的问题来解决你的问题。 – Aserre