无法通过tcl脚本运行相同的tcl代码?

时间:2016-07-08 04:49:33

标签: linux tcl

我可以从我的Konsole转到tclsh来运行相同的代码,但是当我尝试使用tcl脚本运行它时,它没有输出。

我有一个名为name的文件,其中包含此

my name is dev my name is vaibhav

当我通过tclsh运行命令时,它会提供所需的输出。

命令为exec grep "dev" name,输出为my name is dev

但是当我通过名为call.tcl的tcl脚本运行它时,它没有输出!其内容如下: -

#! /usr/bin/tclsh
exec grep "dev" name

我已在第一行验证了tclsh的地址,并且该文件存在于那里。我正在使用redhat-release-5Client-5.5.0.2
任何帮助都会很明显。

由于
开发

1 个答案:

答案 0 :(得分:2)

当您使用交互式tclsh时,将返回exec命令的结果,默认情况下,它们将在控制台中打印。

但是,当你作为一个独立的脚本运行时,它不会被打印到控制台(stdout),除非你手动使用puts命令打印它。

puts [exec grep "dev" name]

此外,您可以使用set命令

将其保存到变量中
set result [exec grep "dev" name]
puts $result