我有两个变数。
输出
s10 21
s11 5
Program terminated by dropping off the bottom.
s10 21
s11 5和结果
s10 21 s11 5s10的值为21,s11的值为5。我想比较它们,并检查结果字符串是否在输出字符串中。我在这方面有点麻烦。
执行此[[ "$OUTPUT" == *"$RESULTS"* ]]将返回false。
我还尝试了一种方法,tr基本上消除了多个空白空间。
当我在终端中执行echo $OUTPUT时,所有内容都是一行打印的,只有一个空格,没有换行符。
s10 21 s11 5 Program terminated by dropping off the bottom. s10 21 s11 5如果我做了echo "$OUTPUT",原始格式将被保留和打印。
在不考虑多个空格和换行符的情况下,检查输出是否包含结果的最佳方法是什么?
发布于 2022-08-26 20:02:23
正如注释中提到的,echo可能很方便,或者如果您想要更可预测的东西,则可以这样做。
if tr -s '\n' ' ' <<<"$OUTPUT" | grep -q -- "$RESULT"
then
echo 'yes'
fihttps://stackoverflow.com/questions/73505192
复制相似问题