#!/bin/bash
./program < input.txt > output.txt
Run Code Online (Sandbox Code Playgroud)
该> output.txt部分被忽略,因此output.txt最终为空.
这适用于sort命令,因此我希望也适用于其他程序.
这有什么原因不起作用?我该怎么做到这一点?
最可能的解释是,您看到的输出来自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)