我需要通过TCL脚本从终端运行一些命令。这个TCL脚本工作正常。
set cmd_list [list {mkdir testdir} {cd testdir} ]
set dataportInterface "eth0"
lappend cmd_list [list ifconfig -a | grep -m 1 $dataportInterface]
但是,只要我添加awk命令,它就会开始失败。 错误是“失败:关闭括号后的额外字符”。
lappend cmd_list [list ifconfig -a | grep -m 1 $dataportInterface | awk 'BEGIN {FS="[:]"} { print $1 } END {}' | xargs -t ethtool -S]
我尝试了几种可能性,但没有一种可行。例如,如果我尝试
lappend cmd_list { }
然后,$dataportInterface
的值eth0
未被采用。
我尝试在所有特殊字符\
前加: " ' [ {
并抛出错误$1 not recognized
。我将awk
命令放在{{
中括号,但也没有用。(error: doesn't recognize {{awk
)
解决这个问题的正确方法是什么?为什么?
答案 0 :(得分:1)
单引号对Tcl没有意义 - 尝试将'...'更改为{...}