如何在同一条命令行中同时使用输入重定向与输出重定向
关于命令行同时实现输入输出重定向的解答
你提到的./program < input.txt > output.txt写法完全可以满足需求,是所有兼容POSIX标准的Shell(比如bash、zsh、dash等)都支持的标准语法。
相关重定向规则说明:
< input.txt:将程序的标准输入流绑定到input.txt文件,程序运行时读取输入的操作会直接从该文件获取内容,不需要终端手动输入。> output.txt:将程序的标准输出流绑定到output.txt文件,程序原本输出到终端的正常运行结果会全部写入该文件。注意这个写法会在程序启动前先清空output.txt的原有内容,如果需要在已有文件末尾追加输出,要把>替换为>>。
补充注意点:
上述写法默认只会重定向正常输出内容,程序运行抛出的错误信息(走标准错误流输出的内容)还是会直接打印在终端上。如果需要把错误信息也一并存入输出文件,可以把命令调整为
./program < input.txt > output.txt 2>&1。
内容的提问来源于stack exchange,提问作者XRO
相关产品推荐
相关产品推荐

