在Bash中,当捕获包含换行符的变量时,换行符会被移除。要解决这个问题,可以通过使用printf命令来保留换行符。
以下是一个示例代码:
#!/bin/bash
output=$(ls -l)
# 使用printf命令输出捕获的变量(保留换行符)
printf "%s\n" "$output"
在上面的示例中,我们使用ls -l
命令将文件列表捕获到变量output
中。然后,我们使用printf
命令将变量output
输出到终端,并使用%s\n
格式字符串来保留换行符。
通过这种方式,我们可以在输出中保留捕获的变量的换行符。