如何使用Bash重定向标准输入和输出

Inu*_*art 6 io bash

#!/bin/bash
./program < input.txt > output.txt
Run Code Online (Sandbox Code Playgroud)

> output.txt部分被忽略,因此output.txt最终为空.

这适用于sort命令,因此我希望也适用于其他程序.

这有什么原因不起作用?我该怎么做到这一点?

Oli*_*rth 8

最可能的解释是,您看到的输出来自stderr,而不是stdout.要将它们重定向到文件,请执行以下操作:

./program < input.txt > output.txt 2>&1
Run Code Online (Sandbox Code Playgroud)

要么

./program < input.txt &> output.txt
Run Code Online (Sandbox Code Playgroud)