我做了一个程序,用c中的readline函数接收来自终端的输入(https://eli.thegreenplace.net/2016/basics-of-using-the-readline-library/),readline节省了键盘来自终端的输入(基本上是标准输入的读取)并将其保存在缓冲区内。 想象一下,当我的程序执行时,它只是在屏幕上打印一条消息,例如:*输入命令:*,我可以编写一个 bash 命令,它将执行它(就像 bash 一样)。 我想做一个测试(在 python、c++ 或 bash 中),将启动程序,写入 readline 并检查与 bash 相比的输出,有谁知道如何做到这一点?
这是一个初始 bash 脚本,它使用一些属性随机化输入:
for i in {1..5}; do
input=$(echo {A..Z} {a..z} | tr ' ' "\n" | shuf | xargs | tr -d ' ' | cut -b 1-18)
echo ${input}
/path/to/your_program < ${input}
done
您可以添加字符、缩短输入长度等