How to append output of quot;python --versionquot; to a file in bash shell?(如何附加“python --version的输出到 bash shell 中的文件?)
问题描述
我正在尝试编写一个简短的脚本来将我当前的 shell 会话的某些环境变量记录到文件中.不幸的是,python --version"的输出似乎忽略了(?)>>运算符并打印到shell而不是文件.
I'm trying to write a short script to log certain environment variables of my current shell session to file. Unfortunately the output of "python --version" seems to ignore (?) the >> operator and prints to the shell instead to the file.
我的最小(非)工作示例:
My minimal (not) working example:
rm path.log
echo "python --version" >> path.log
python --version >> path.log
我希望文件 path.log 将具有以下内容:
I would expect that the file path.log would then have the following content:
python --version
Python 2.6.6
但是Python 2.6.6"这一行会打印到 shell 而不是文件.我该如何解决这个问题?
But the line "Python 2.6.6" is printed to the shell and not to the file. How can I fix this?
谢谢!
PS:这完全适用于
gcc --version
推荐答案
python --version
输出到STDERR
.
你需要将STDERR
合并到STDOUT
中:
python --version >> path.log 2>&1
<小时>
作为参考,您可以通过以下方式验证此类行为:
For reference, you can verify such behavior by saying:
$ python --version 1>/dev/null
Python 2.7.4
上例中的STDOUT
被重定向到/dev/null
.这意味着输出被发送到 STDERR
.
The STDOUT
in the above example was redirected to /dev/null
. This would imply that the output is being sent to STDERR
.
这篇关于如何附加“python --version"的输出到 bash shell 中的文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何附加“python --version"的输出到 bash shell 中的文件?


基础教程推荐
- Python 中是否有任何支持将长字符串转储为块文字或折叠块的 yaml 库? 2022-01-01
- 比较两个文本文件以找出差异并将它们输出到新的文本文件 2022-01-01
- Python,确定字符串是否应转换为 Int 或 Float 2022-01-01
- 在 Django Admin 中使用内联 OneToOneField 2022-01-01
- Kivy 使用 opencv.调整图像大小 2022-01-01
- 对多索引数据帧的列进行排序 2022-01-01
- 在 Python 中将货币解析为数字 2022-01-01
- kivy 应用程序中的一个简单网页作为小部件 2022-01-01
- 究竟什么是“容器"?在蟒蛇?(以及所有的 python 容器类型是什么?) 2022-01-01
- matplotlib 设置 yaxis 标签大小 2022-01-01