标签: stdout

如果 HTTP 状态代码不是 200,我是否可以使 cURL 失败并且退出代码不同于 0?

我一直假设当 curl 收到 HTTP 500 响应时,它会返回一个退出代码,这意味着失败 (!= 0),但事实并非如此。

如果 HTTP 状态代码不是 200,有没有一种方法可以使 cURL 失败,并且退出代码不同于 0?我知道我可以使用,-w "%{http_code}"但这将它放在 STDOUT 中,而不是作为退出代码(此外,我也对捕获输出感兴趣,我不想重定向到文件,而是重定向到屏幕)。

curl stdout http-status-code-500 exit-code

389
推荐指数
7
解决办法
19万
查看次数

你如何将 wget 响应重定向到标准输出?

我每五分钟就有一个crontab那个wgetPHP 页面(只是为了运行一些 PHP 代码),我想将请求的输出发送到标准输出,同时将正常wget输出发送到/dev/null(或以其他方式隐藏它)。我在wget手册中找不到它。

我正在寻找类似的东西:

wget -o stdout http://whatever.com/page.php > /dev/null
Run Code Online (Sandbox Code Playgroud)

有人知道吗?

linux wget stdout

237
推荐指数
4
解决办法
24万
查看次数

标准输出的日志轮换?

我有一个 Linux 程序,它可以将信息写入 stdout 和 stderr。

我有一个 shell 脚本,可以将该输出重定向到/var/log. (通过>>2>&1。)

有没有办法让日志文件轮换?(最大大小,然后切换到不同的文件,只保留有限数量的文件)

我看过一些谈论该logrotate程序的答案,听起来不错,但它们似乎也专注于在内部生成日志文件并处理 HUP 信号的程序。有没有办法使用基本的输出重定向脚本来完成这项工作?

linux redirection shell-script stdout logrotate

68
推荐指数
5
解决办法
5万
查看次数

如何动态解压/解压输出

执行以下操作的惯用方法是什么

  • 焦油到标准输出
  • 从 stdout 读取此 tar 输出并解压缩到其他文件夹。

我的解决方案是 tar --to-stdout .. | tar -C somefolder -xvf -

但可能有更惯用的方法来做到这一点。

bash tar stdout

39
推荐指数
2
解决办法
6万
查看次数

Windows:命令行重定向到文本文件,同时还可以看到输出

我正在 Windows 中编写一个 C 程序,我的 printf 调用打印到命令行,我知道我可以使用以下命令将所有这些输出重定向到一个文本文件:

myProgram.exe > mylog.txt
Run Code Online (Sandbox Code Playgroud)

但是,我还希望看到本应打印到控制台的输出,并将其全部记录在文本文件中。

有没有办法做到这一点?我正在考虑使用tail来监视日志文件。

windows command-line stdout

36
推荐指数
2
解决办法
8万
查看次数

管道 gunzip 和 mysql 以 gunzip 转储并导入它

我有一个 .gz sql 转储文件(例如:foo.sql.gz),我想使用经典的 mysql 命令将其导入到我的数据库中。

gunzip -c foo.sql.gz > foo.sql

mysql -uroot -ppassword foo < foo.sql
Run Code Online (Sandbox Code Playgroud)

foo 是数据库。

如何在一个命令中管理这两个命令?

试过

gunzip -c foo.sql.gz | mysql -uroot -ppassword foo
Run Code Online (Sandbox Code Playgroud)

但似乎不起作用;我明白了gzip: stdout: Broken pipe

mysql gunzip pipe stdout dump

29
推荐指数
3
解决办法
2万
查看次数

确定输出是 stdout 还是 stderr

如何确定进程输出的是 stdout 还是 stderr?

linux stderr stdout

28
推荐指数
2
解决办法
2万
查看次数

看着一些东西被写到一个带有尾巴的文件中

我有一个 python 程序,它正在慢慢地生成一些输出。

我想在一个文件中捕获它,但我也认为我可以用尾巴观看它。

所以在一个终端中我正在做:

python myprog.py > output.txt
Run Code Online (Sandbox Code Playgroud)

并在另一个终端:

tail -f output.txt
Run Code Online (Sandbox Code Playgroud)

但是在 python 程序运行时,尾巴似乎没有向我显示任何东西。

如果我按 ctrl-c 来杀死 python 脚本,突然尾部output.txt开始填满。但不是在 python 运行时。

我究竟做错了什么?

linux redirection command-line stdout

26
推荐指数
4
解决办法
5434
查看次数

适用于 Windows 的 T 恤?

Windows 是否提供了tee将标准输入复制到任意一组文件然后再返回到标准输出的基本工具?

我通常会下载一个通用tee程序,但是很好奇在 powershell 或类似的东西中是否存在这样的东西?

powershell shell stdout

24
推荐指数
1
解决办法
3万
查看次数

为什么有些 Linux 程序的输出既不去 STDOUT 也不去 STDERR?

为什么有些 Linux 程序的输出既不去 STDOUT 也不去 STDERR?

实际上,我想知道如何可靠地捕获所有程序输出,无论它使用什么“流”。我的问题是有些程序似乎不让他们的输出被捕获。

一个例子是“时间”命令:

time sleep 1 2>&1 > /dev/null

real        0m1.003s
user        0m0.000s
sys         0m0.000s
Run Code Online (Sandbox Code Playgroud)

或者

time sleep 1 &> /dev/null

real        0m1.003s
user        0m0.000s
sys         0m0.000s
Run Code Online (Sandbox Code Playgroud)

为什么我两次都看到输出?我希望这一切都通过管道输入/dev/null

时间使用的是什么输出流,我如何将其通过管道传输到文件中?

解决此问题的一种方法是创建一个Bash脚本,例如,combine.sh包含以下命令:

$@ 2>&1
Run Code Online (Sandbox Code Playgroud)

然后可以以正确的方式捕获 'time' 的输出:

combine.sh time sleep 1 &> /dev/null
Run Code Online (Sandbox Code Playgroud)

(没有看到输出 - 正确)

有没有办法在不使用单独的组合脚本的情况下实现我想要的?

linux bash gnu stderr stdout

22
推荐指数
2
解决办法
7075
查看次数