【发布时间】:2015-08-11 02:55:05
【问题描述】:
我正在尝试制作一个期望脚本,并且在脚本中需要 AWK 或 sed。
我还有一个像这样的名为 TimeBased_CLI.ini 的文件。
192.168.1.22 is rhost
2022 is port
我的目标是将文件作为变量放入脚本中。
这是我当前的错误脚本
#!/usr/bin/expect -f
set timeout 10
#INPUT Vars from TimeBased_CLI.ini file
set rhost "[exec grep rhost ./TimeBased_CLI.ini | awk "/[[:blank:]]*is[[:blank:]]*/ \{print \$1 \}"]"
send_user "$rhost\n"
它给了我
-sh-4.1$ ./test.exp
invalid command name ":blank:"
while executing
":blank:"
invoked from within
"[:blank:]"
invoked from within
"exec grep rhost ./TimeBased_CLI.ini | awk "/[[:blank:]]*is[[:blank:]]*/ \{print \$1 \}""
invoked from within
"set rhost "[exec grep rhost ./TimeBased_CLI.ini | awk "/[[:blank:]]*is[[:blank:]]*/ \{print \$1 \}"]""
(file "./test.exp" line 5)
我该如何解决?
# [解决了]我使用的最后一个命令是这样的:
set rhost "[exec awk {$NF ~ /rhost/ {print $1;}} TimeBased_CLI.ini]"
该命令的shell格式为:
awk '$NF ~ /rhost/ {print $1;}' TimeBased_CLI.ini
【问题讨论】:
-
语法高亮正确吗?