【发布时间】:2015-05-06 22:26:49
【问题描述】:
在我尝试自动访问远程计算机时, 我正在尝试在期望脚本中创建和使用变量。
我正在尝试执行以下操作:
#!/bin/csh -f
/user/bin/expect<<EOF_EXPECT
set USER [lindex $USER 0]
set HOST [lindex $HOST 0]
set PASSWD [lindex $PASSWD 0]
set timeout 1
spawn ssh $USER@$HOST
expect "assword:"
send "$PASSWRD\r"
expect ">"
set list_ids (`ps -ef | grep gedit | awk '{ print $2 }'`)
expect ">"
for id in ($list_ids)
send "echo $id\r"
end
send "exit\r"
EOF_EXPECT
此代码的几个挑战:
ps | grep | awk行不像在 shell 中那样工作。它不仅使用awk命令提取pid。相反,它占用了整行。变量
$list_ids无法识别,尽管我使用我认为是期望脚本中的变量设置来设置它。最后,如何进行
for循环,以便识别$id和$id_list?
我正在使用 csh。 $env(list_ids) 对我不起作用,$env 未定义。
【问题讨论】: