2016-07-08 26 views
0

私はKonsoleからtclshに行くことで同じコードを実行できますが、tclスクリプトを使用して実行しようとすると、出力はありません。tclスクリプトで同じtclコードを実行できませんか?

は私がtclshを介してコマンドを実行すると、この

my name is dev my name is vaibhav

含まnameという名前のファイルを持って、それが必要な出力を提供します。

コマンドexec grep "dev" nameされ、出力がmy name is dev

ですが、私はcall.tclという名前のTclスクリプトを通してそれを実行すると、それは何も出力を与えません!その内容は次のとおりです。 -

最初の行にtclshのアドレスがあり、そこにファイルがあることを確認しました。私は使用していますredhat-release-5Client-5.5.0.2
どんな助けが相当なでしょう。

おかげ
のDev

答えて

2

あなたがインタラクティブtclshを使用し、execコマンドからの結果が返されると、デフォルトでは、彼らは、コンソールに出力されます。

しかし、スタンドアロンスクリプトとしてatを実行すると、手動でコマンドを使用して同じものを表示しない限り、コンソール(stdout)には出力されません。

puts [exec grep "dev" name] 

また、あなたはsetコマンド

set result [exec grep "dev" name] 
puts $result 
+0

を使用して変数に保存することができます。また、それは、Tclからのgrepを使用して、通常は間違いです。 Tclはファイル自体を検索するのに威力があり、例外として何かを見つけるためにgrepによる失敗を扱う傾向があります。 –

関連する問題