linux命令解析,开发中遇到的一个启动脚本的语句

eft21 2011-11-03 02:25:38
nohup ./startWebLogic.sh > startWebLogic.out 2>&1&
这是启动weblogic的命令,我不太了解 2>&1&,请高手指教
对于这个问题,我给50分,对于经常操作linux/unix的人来说,这分拿的也太容易了,所以希望您能对这句shell脚本给予更多补充的知识普及,比如当2换成1或0又代表什么意思,小弟,先谢了!
...全文
52 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
delphiwcdj 2011-11-04
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 testfamily 的回复:]

1 is stdout
2 is stderr.
& indicates that what follows is a file descriptor and not a filename

2>&1 means:combine stderr and stdout into the stdout stream for further manipulation
[/Quote]
++
xuexingyang 2011-11-03
  • 打赏
  • 举报
回复
一般这样写:

a.sh > debug.out >/dev/null 2>&1

表示脚本a.sh的打印信息到debug.out,标准输出到/dev/null(这个是个无底洞)
1 代表标准输出.
2 表示标准错误,处理方式和1类似。
yifanernei 2011-11-03
  • 打赏
  • 举报
回复
man bash
查找redirect相关的内容可以得到最详细的描述
TestFamily 2011-11-03
  • 打赏
  • 举报
回复
你可以参考这个帖子,解释的很清楚。
http://www.linuxsir.org/bbs/showthread.php?t=40501
yifanernei 2011-11-03
  • 打赏
  • 举报
回复
2>&1&
应该分成两个部分
2>&1
& --这个是表示程序要启动到后台

2>&1
在shell中,每个进程都和三个系统文件相关联:标准输入stdin,标准输出stdout和标准错误stderr,三个系统文件的文件描述符分别为0,1和2
>表示输出重定向,格式应该是 [n] > word , n为文件描述符,默认为1,即标准输出.当word前放一个&时word表示为一个文件描述符
2>&1 的意思就是将标准错误也输出到标准输出当中
如果写成 2>1则是说把标准错误写入到文件名为1的文件里

还有一种写法 &>word 与 >word 2>&1等价

另外,貌似你把分看得太重了
TestFamily 2011-11-03
  • 打赏
  • 举报
回复
1 is stdout
2 is stderr.
& indicates that what follows is a file descriptor and not a filename

2>&1 means:combine stderr and stdout into the stdout stream for further manipulation
eft21 2011-11-03
  • 打赏
  • 举报
回复
哪位好心人施舍一下
qq120848369 2011-11-03
  • 打赏
  • 举报
回复
2>&1等于LINUX C里的dup2(1,2),让描述符2共享描述符1的文件表项。

23,110

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧