gpt4 book ai didi

linux - 用于检查差异的 Bash 脚本

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:57:31 27 4
gpt4 key购买 nike

我正在尝试让此脚本根据已知的正确结果文本文件检查程序 (test21) 的输出。我试过用几种方法来编写它,但我无法让它工作。任何想法,谢谢!

#!/bin/bash                                                                                                                                                                        

arr=$(find resultfile*)
x=0


for i in $(find resultfile*);do
arr[$x]=$i
x=$(($x + 1))
done

for i in ${arr[@]}; do
echo $i
done

x=0
for i in $(find testfile*);
do
if diff ${arr[$x]} <(./test21< testfile1.txt 2>&1); then
echo Everything is correct
else
echo Everything is wrong
fi
x=$(($x+1))

done

它是这样说的,我得到:

Segmentation fault: 11  ./test21 < "testfile1.txt" 2>&1

我的程序 test21 接收一个输入文本文件并对其进行解析,这可能会导致段错误。但是如果我使用 ./test21 testfile1.txt 我的程序运行得很好。我在 testfile1.txt 中进行了硬编码,但它应该是

if diff  ${arr[$x]} <(./test21< $i 2>&1); then

但是,即使我执行 "$i",它也会将其读取为 $i

最佳答案

I get:

Segmentation fault: 11  ./test21 < "testfile1.txt" 2>&1

My program test21 takes in an input text file and parses it, which could result in the segmentation faults. But if I use ./test21 testfile1.txt my program runs perfectly fine.

然后就用那个;而不是

./test21< testfile1.txt 2>&1

./test21 testfile1.txt 2>&1

关于linux - 用于检查差异的 Bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24500289/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com