如何附加“python --version"的输出到 bash shell 中的文件?

How to append output of quot;python --versionquot; to a file in bash shell?(如何附加“python --version的输出到 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 中的文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Leetcode 234: Palindrome LinkedList(Leetcode 234:回文链接列表)
How do I read an Excel file directly from Dropbox#39;s API using pandas.read_excel()?(如何使用PANDAS.READ_EXCEL()直接从Dropbox的API读取Excel文件?)
subprocess.Popen tries to write to nonexistent pipe(子进程。打开尝试写入不存在的管道)
I want to realize Popen-code from Windows to Linux:(我想实现从Windows到Linux的POpen-code:)
Reading stdout from a subprocess in real time(实时读取子进程中的标准输出)
How to call type safely on a random file in Python?(如何在Python中安全地调用随机文件上的类型?)