将命令“head”的输出存储在expect中的变量中

时间:2016-05-17 09:24:24

标签: unix expect

我有一个巨大的文件,其中包含特定错误的版本号。版本号位于文件的第一行,因此我使用“head filename”命令。当我尝试使用expect脚本自动化它时,即

set var [head filename.txt]

它会抛出一个错误,指出无效的命令名称。当我尝试使用expect_out执行其他操作时,

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

但这也没有用。有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

这应该有效:

set var [exec head -1 filename.txt]

或者,不需要外部程序:

set f [open filename.txt]
gets $f var
close $f
  • 您现在拥有$ var。
  • 中文件的第一行