Skip to main content
 首页 » 编程设计

python之如何将 "python --version"的输出 append 到 bash shell 中的文件

2025年05月04日29thcjp

我正在尝试编写一个简短的脚本来将当前 shell session 的某些环境变量记录到文件中。不幸的是,“python --version”的输出似乎忽略了(?)>> 运算符并打印到 shell 而不是文件。

我的最小(非)工作示例:

rm path.log 
echo "python --version" >> path.log 
python --version >> path.log 

我希望文件 path.log 将包含以下内容:

python --version 
Python 2.6.6 

但是“Python 2.6.6”行被打印到 shell 而不是文件。我该如何解决这个问题?

谢谢!

PS:这完全适用于

gcc --version 

请您参考如下方法:

python --version 输出到 STDERR。

您需要将 STDERR 合并到 STDOUT 中:

python --version >> path.log 2>&1 

作为引用,您可以通过以下方式验证此类行为:

$ python --version 1>/dev/null 
Python 2.7.4 

上面例子中的STDOUT被重定向到/dev/null。这意味着输出被发送到 STDERR。