【发布时间】:2018-01-29 11:27:32
【问题描述】:
我需要将命令的多行输出分配给一个变量。 我读了这两个线程:
assigning the output of a command to a variable in a shell script
Capturing multiple line output into a Bash variable
它适用于 echo 示例(多行命令):
#!/bin/bash
output="$( bash <<EOF
echo first
echo second
echo third
EOF
)"
echo "$output"
但它似乎不适用于具有多行输出的命令。当我跑步时
output="$( bash <<EOF
echo abc
uncrustify -c ~/.uncrustify.cfg --check filename
echo def
EOF
)"
我会收到第二行默认uncrustify -c ~/.uncrustify.cfg --check filename输出:
FAIL: filename (File size changed from 404 to 417)
uncrustify -c ~/.uncrustify.cfg --check filename 的默认输出是:
Parsing: filename as language OC
FAIL: filename (File size changed from 404 to 417)
我想将这两行都分配给输出变量并将所有输出隐藏到控制台。
【问题讨论】:
-
第二部分是
not working?你得到什么输出 -
我收到了
FAIL: filename (File size changed from 404 to 417)出乎意料的信息。我不应该在控制台中得到任何东西。
标签: bash