您的位置:首页 > 其它

expect 语法整理备忘

2016-12-09 11:53 323 查看
包含文件

source ../config/config_$cfg.cfg

从自动执行状态切换到手动交互输入

interact

定义变量

set work_home "/work/"
set zdate [exec date +%Y%m%d-%H%M%S]

定义写log函数

proc log {msg} {
#写日志的同时将消息打印在屏幕上
puts "$msg\n"
send_log "$msg\n"
}

指定log文件位置

log_file "$work/../shell/log/export-ipa.log"

设置脚本超时时间

set timeout 3600

当执行命令内包含正则匹配字符时使用bash -c执行

spawn bash -c "cp -rf $work/AssetBundle/Android/* $work/Assets/StreamingAssets/"

当前一个命令有多种返回可能时

expect {
-re eof { send "\n" }
-re {Enter passphrase for key} {
send "123456\n"
expect eof
}
}

等待前一个命令执行结束

expect eof

当执行命令有很多转移字符时使用大括弧包含里边的内容会原样输出不进行转移,一定要注意的是大括弧内不可以有变量,因为不会进行变量替换

需要转义的符号列表

\ 需转义为 \\\
} 需转义为 \}
[ 需转义为 \[
$ 需转义为 \\\$
` 需转义为 \`
" 需转义为 \\\"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  expect tcl 语法