我正在从期望脚本执行以下命令:
#!/usr/bin/expect
#####config file content :: user1|server1
set lx [exec awk {-F|} {/server1/ {print $1}} config]
puts "Values is $lx of server1."
此输出为:值是user1
对于服务器1。
我无法删除一条尾随的新行。如果尝试过:
set x [string trimright $lx \n]
set x [string trimright $lx "\n"]
set x [string trim $lx \n]
但是变量x / lx的末尾总是有一个\ n。如何解决?
使用了:: regsub -all [\ r \ n] $ lx“” lx来解决此问题。
默认情况下,string trim
将从字符串的任何一端删除所有空格类型的字符,因此您只需单击set x [string trim $lx]
。
我倾向于像这样在Expect中进行整个处理:
set x [string trim [lindex [split [read [open config]] | ] 0]]