我的TCL脚本
set a "Linux raj.centos7.com 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41
UTC 2016 x86_64 x86_64 x86_64 GNU/Linux"
set b "raj.centos7.com"
puts $a
puts $b
if { [string match $a *$b*] }
{
puts "Match";
}else {
puts "No Match";
}
fi
运行脚本时出现以下错误
wrong # args: no script following " [string match $a *$b*] " argument while executing "if { [string match $a *$b*] } " (file "./ak.tcl" line 8)
答案 0 :(得分:1)
您的脚本在语法上 不正确!
您必须小心换行符和空格。特别是,您必须在测试表达式的同一行上开始if
的主体,并且必须将else
与它周围的脚本片段分开。
此:
if { [string match $a *$b*] }
{
puts "Match";
}else {
puts "No Match";
}
应该变成这样:
if { [string match $a *$b*] } {
puts "Match";
} else {
puts "No Match";
}
所有我已经更改了空格。
此外,可能没有fi
命令,因此您将在几行中得到另一个错误。 (fi
是一种空壳主义……)