期望:使用 echo 一次打印多行字符串

期望:使用 echo 一次打印多行字符串

我的代码中有以下部分期望代码:

set command "echo $output"

spawn bash

expect "$ "

send "$command\r"
expect "$command\r\n"

其中output是从 获得的多行字符串$expect_out(buffer)

我得到输出:

$ echo this
this
$ is
is: command not found
$ a multiline
a: command not found
$string

有什么方法可以在单个序列中获取上述字符串,就像我们在 bash 上回显多行字符串一样?我使用 echo 是因为我想稍后用管道进行一些 Bash 后处理。

答案1

您需要引用远程 shell 的字符串。

set command "echo \"$output\""

如果字符串本身可能包含双引号字符,则还有更多工作要做。

相关内容