要将stdout重定向到Bash中的截断文件,我知道要使用:
cmd > file.txt
Run Code Online (Sandbox Code Playgroud)
要在Bash中重定向stdout,追加到文件,我知道要使用:
cmd >> file.txt
Run Code Online (Sandbox Code Playgroud)
要将stdout和stderr重定向到截断的文件,我知道要使用:
cmd &> file.txt
Run Code Online (Sandbox Code Playgroud)
如何重定向附加到文件的stdout和stderr?cmd &>> file.txt不适合我.
我试图将命令行程序的所有输出重定向到文件.我正在使用Bash.一些输出被定向到文件,但是一些仍然出现在终端中并且不存储到文件中.
这里描述了类似的症状:
但是我尝试了所提出的解决方案(捕获stderr)但没有成功:
<cmd> <args> > stdout.txt 2> stderr.txt
Run Code Online (Sandbox Code Playgroud)
文件stderr.txt已创建但为空.
可能的线索是命令行程序是与同一台机器上的服务器通信的客户端.可能有些输出来自服务器.
有没有办法捕获终端的所有输出,无论其来源如何?
编辑:
我已经确认缺少的输出是由服务器生成的.在单独的终端中运行命令会在两个终端中产生一些输出,我可以将命令终端的所有输出传输到文件.这引发了有关如何捕获服务器输出的问题,但这是一个不同的问题.
我想将slave上的Redis数据子集导出到csv文件.我注意到redis-cli中添加了一个新的csv输出选项,但我无法找到它的工作原理.启用该选项会以csv格式将命令输出打印到屏幕.将此文件转换为csv文件的最佳方法是什么?
我想跟踪python脚本执行时的行.但是我使用的程序需要将内容打印到stdout.python跟踪模块的trace选项将它们打印到stdout.有没有告诉它不要将它们打印到stdout,而是将它们保存到文件中?我尝试设置outfile参数,但它不会停止跟踪线的打印.
在尝试存储 SSH 检查的输出以查看我是否具有对帐户的 SSH 访问权限时,我看到了奇怪的行为。我尝试了以下方法:
ssh git@bitbucket.org > temp.txt
Run Code Online (Sandbox Code Playgroud)
并且我希望收到一条字符串消息,告诉我权限是否被拒绝或不保存到temp.txt. 但输出直接到终端,而不是保存到文件。但是,如果我这样做
ls -l > temp.txt
Run Code Online (Sandbox Code Playgroud)
该输出保存到文件。什么可能导致这种行为差异?我最终将把输出保存到一个变量中,但在这种情况下也会看到类似的行为。我使用的是 Ubuntu 16.04 bash 版本 4.3.48(1)。
我使用crontab来自动启动程序,使用cronatb中的以下命令
@reboot sudo python /home/Desktop/Appllication.py
是否可以通过在上述命令中附加内容来编写所有日志(错误和其他内容),以便cron将所有错误/任何相关事件写入日志?
更新:当使用print命令单独运行时,代码在python空闲终端中打印值.如何将打印在终端上的数据写入日志文件.例如,如果我的代码就像打印"food morning",如何将其写入日志文件而不是在终端上打印.
测试代码:
import time
while(1):
print "testing"
time.sleep(5)
Run Code Online (Sandbox Code Playgroud) git fetch命令的输出test1从以下cmd 重定向到“ ”文件:
manish@rigved:~$ git fetch --all --prune > test1
From https://github.com/Beawel/wwwnew
x [deleted] (none) -> origin/test
Run Code Online (Sandbox Code Playgroud)
问题:但是x [deleted] ...输出中显示的“ ”行未重定向到test1,为什么?请提出建议。
为什么git命令会在stderr上打印明显不是错误消息的内容?
manish@rigved:~$ cat test1
Fetching origin
Run Code Online (Sandbox Code Playgroud) 假设我想从我的存储库中看到所有git更改.我所做的是在Windows控制台上执行以下命令:
git log --oneline --decorate
Run Code Online (Sandbox Code Playgroud)
所以我可以在控制台上看到完整的历史记录.
但是,如果我想将其保存在文件中,将其发送到客户端呢?我知道我可以捕获控制台的输出进行一些编码,但我认为必须有一种方法可以简单地将其保存在文件中.像这样的git log --oneline --decorate --SaveToFile东西怎么样这样的事情呢?