当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 6 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 重定向到文件,为何有的命令做不到?
帖子发表于 : 2017-07-25 16:38 

注册: 2016-07-08 17:43
帖子: 94
系统: debian8
送出感谢: 12
接收感谢: 0 次
wc -c test.txt > /tmp/output
这个命令可以将wc -c test.txt的结果写入 /tmp/output,同时,屏幕没有输出结果。

ffprobe test.mp3 > /tmp/output1
这个命令,为何不可以将 ffprobe test.mp3 的结果输入到 /tmp/output1,同时,屏幕没有输出??


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 重定向到文件,为何有的命令做不到?
帖子发表于 : 2017-07-25 16:42 
头像

注册: 2011-03-20 13:12
帖子: 4552
地址: 山东省寿光县
系统: Debian
送出感谢: 106
接收感谢: 1009
whaha 写道:
wc -c test.txt > /tmp/output 这个命令可以将wc -c test.txt的结果写入 /tmp/output,同时,屏幕没有输出结果。

wc 输出到 stdout (1)

whaha 写道:
ffprobe test.mp3 > /tmp/output1 这个命令,为何不可以将 ffprobe test.mp3 的结果输入到 /tmp/output1,同时,屏幕没有输出??

ffprobe 输出到 stderr (2)
代码:
ffprobe test.mp3 > /tmp/output1 2>&1


_________________
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 重定向到文件,为何有的命令做不到?
帖子发表于 : 2017-07-25 17:29 

注册: 2016-07-08 17:43
帖子: 94
系统: debian8
送出感谢: 12
接收感谢: 0 次
我如何知道一个命令的执行结果,是输出到 stdout1 还是 sdderr2 ??
有无命令可以获得其他命令输出是属于 stdout1 还是 sdderr2 ??

ffprobe test.mp4 这个命令哪来的错误呢?它是正确的表达形式哈!!!

command > filename 2>&1 把标准输出和标准错误一起重定向到一个文件中
command > filename 把标准输出和到一个文件中
我不管 错误输出,我写对命令,只管标准输出到一个文件。
为何不可以?


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 重定向到文件,为何有的命令做不到?
帖子发表于 : 2017-07-25 19:09 
头像

注册: 2011-03-20 13:12
帖子: 4552
地址: 山东省寿光县
系统: Debian
送出感谢: 106
接收感谢: 1009
whaha 写道:
我如何知道一个命令的执行结果,是输出到 stdout1 还是 sdderr2 ??
有无命令可以获得其他命令输出是属于 stdout1 还是 sdderr2 ??

看看
https://unix.stackexchange.com/a/186480
https://unix.stackexchange.com/a/186570

whaha 写道:
ffprobe test.mp4 这个命令哪来的错误呢?它是正确的表达形式哈!!!

只是把文字信息输出到 stderr,不代表是错误信息
那麽为何输出到 stderr,不输出到 stderr 呢?个人猜测是 stdout 要用来输出别的,如转换好的音视频
以上是猜测,不一定正确。


例如将 a.mp3 转换成 a.ogg,同时将转换过程中的文字信息输出到 log 中:
代码:
ffmpeg -i a.mp3 -f ogg - >a.ogg 2>log


whaha 写道:
我不管 错误输出,我写对命令,只管标准输出到一个文件。为何不可以?

可以的。您主楼中第二条命令正是将 ffprobe test.mp3 的标准输出导入 /tmp/output1 中。只是标准输出在这个例子中是空的,没东西。东西全在标准错误里。


_________________
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 重定向到文件,为何有的命令做不到?
帖子发表于 : 2017-07-25 19:35 

注册: 2016-07-08 17:43
帖子: 94
系统: debian8
送出感谢: 12
接收感谢: 0 次
最后一个问题:
ffmpeg -i a.mp3 -f ogg - >a.ogg 2>log
这里的 - >a ,最后一个 - ,它的含义是什么?
写成
ffmpeg -i a.mp3 -f ogg >a.ogg 2>log
无效

man ffmpeg看了一遍,没有看到 - 不接[option]的含义??


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 重定向到文件,为何有的命令做不到?
帖子发表于 : 2017-07-25 19:40 
头像

注册: 2011-03-20 13:12
帖子: 4552
地址: 山东省寿光县
系统: Debian
送出感谢: 106
接收感谢: 1009
whaha 写道:
man ffmpeg看了一遍,没有看到 - 不接[option]的含义??

这个是惯例
在指定输出文件的地方用 - 就是 stdout
在指定输入文件的地方用 - 就是 stdin


_________________
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 6 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译