2016-05-17 69 views
1

我有一個巨大的文件,其中包含特定bug的版本號。版本號位於文件的第一行,因此我使用「head文件名「命令。當我嘗試使用expect腳本自動化它時,即將命令「頭部」的輸出存儲在變量中預期

set var [head filename.txt] 

它拋出一個錯誤說無效的命令name.When我嘗試使用expect_out做其他的事情,

send "head filename.txt\r" 
expect -re {(n?)^V.*} { 
set var $expect_out(0,string) 
} 

但這並沒有工作either.Can有人幫助我解決這個問題?

回答

1

這應該工作:

set var [exec head -1 filename.txt] 

或者,無需外部程序:

set f [open filename.txt] 
gets $f var 
close $f 
  • 你現在有在$ VAR文件的第一行。
+0

它說不能打開filename.txt:沒有這樣的文件或目錄exists.I改變了文件權限 – sshh

+0

你有正確的文件名嗎?它實際上是否被稱爲「filename.txt」? 你的腳本和這個文件在同一個目錄下運行嗎? –

相關問題