QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 657|回复: 4

求救:关于重定向问题

[复制链接]
发表于 2004-7-16 13:27:32 | 显示全部楼层 |阅读模式
我刚刚接触linux,菜鸟一个,希望大家帮我一把
cmd > file 2>&
list >file 2>&

请问这个&是什么意思?
经常还看见&1 &2 &-之类的符号

还有在重定向中&的到底该怎么用阿
多谢大家了
发表于 2004-7-16 15:15:23 | 显示全部楼层
ls > temp > &
bash: syntax error near unexpected token `&'

不知楼主是什么现象
&ls
bash: syntax error near unexpected token `&'

一般&是加在命令后面,使该命令在后台运行 比如  ls &
回复

使用道具 举报

 楼主| 发表于 2004-7-16 17:15:49 | 显示全部楼层
我的错误和楼上的一样,我试过了。

ls > temp >&1
就不会出现刚才的错误


但是这个&1是什么意思啊?
还有类似的是&2   &-
还有
cmd > file 2>&
list > file 2>&
说的是“cmd的STDIN和STDERR都重定向到指定的文件夹file”

标准输入和标准错误是怎么被重定向到file里的阿??
&在这条语句中到底是起什么作用阿???
多谢赐教!!!
回复

使用道具 举报

发表于 2004-7-16 18:33:00 | 显示全部楼层
这是标准错误输出重定向。
语法为  
  cmd 2> errorfile

表示将cmd的错误消息发送到errorfile中。请你自己试试比如  ls  nonexist-file  2> error.log。其中nonexist-file是当前目录不存在的文件,这时就会将错误消息发送到error.log。

2>&1 告诉 shell将描述符2作为描述符1的副本,这样错误消息和命令输出都被发送到相同的地方。(因为1是标准输出)
回复

使用道具 举报

发表于 2004-7-17 12:16:23 | 显示全部楼层
在重定向的语句中&1指标准输入(STDIN),&2指标准错误输出(STDERR),这后台运行命令时尾缀的&号意义不同。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-7 20:57 , Processed in 0.051961 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表