将shell脚本转换为tcl脚本

时间:2018-07-11 19:05:04

标签: linux shell tcl

我的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)

1 个答案:

答案 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是一种空壳主义……)