Tcl/Expect调用多个shell命令并使用|将其串接在一起时,需要注意的是必须在"|"前后加上空格" ",否则tcl/Expect会报奇怪的错。
Tcl/Expect调用awk命令时,需要把awk的' '中的命令改为用" ",并把$1, $2之类的变量改为\$1, \$2。
例如:
/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk "{print \$2}"|tr -d "addr:"|head -1
改为:
set sWsIpAddr [exec /sbin/ifconfig -a | grep inet | grep -v 127.0.0.1 | grep -v inet6 | awk "{print \$2}" | tr -d "addr:" | head -1]
注意三点:
1. | 前后要加空格2. 单引号变双引号3. $2前面加反斜杠 \$2