gpt4 book ai didi

bash - 从测试文件中读取命令并执行

转载 作者:行者123 更新时间:2023-11-29 09:45:32 24 4
gpt4 key购买 nike

我正在尝试编写一个 shell 测试程序,它将我的程序的输出与示例程序进行比较。我在一个文本文件中存储了一个命令列表,它看起来像这样:命令.txt:

echo line A > a
echo line A > b
./program a b

shell 测试看起来像这样:

cat $testname | while read LINE
do
echo -e "$LINE$"
$LINE
done

但程序不会创建文件 a 和 b,而是生成以下内容:

echo line A > a
line A > a
echo line B > b
line B > b

如何像在 shell 文件中写入的那样执行命令并将输出重定向到另一个文件?

最佳答案

我认为唯一的方法是使用 eval:

cat "$testname" | while read -r; do  
echo "$REPLY"
eval "$REPLY"
done

如果你只是运行 $LINE,它会执行分词,但不会执行 I/O 重定向,所以它只会将 > 作为普通参数传递给 回显

关于bash - 从测试文件中读取命令并执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52622663/

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