Bash期望删除尾随换行符

问题描述 投票:0回答:2

我正在从期望脚本执行以下命令:

#!/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。如何解决?

bash expect
2个回答
0
投票

使用了:: regsub -all [\ r \ n] $ lx“” lx来解决此问题。


0
投票

默认情况下,string trim将从字符串的任何一端删除所有空格类型的字符,因此您只需单击set x [string trim $lx]

我倾向于像这样在Expect中进行整个处理:

set x [string trim [lindex [split [read [open config]] | ] 0]]
© www.soinside.com 2019 - 2024. All rights reserved.