javajohn

金色年华

Unix中 &0 &1 &2 $# 啥意思

    经常关注linux脚本的人,一定看到过 2>&1 这样的用法,最初一定不明白其中的含义以及为什么是这样的一种组合。昨天偶然间再次看到了这个 2>&1 的写法,遂下决心搞明白其中的含义。
    其实要弄清楚 2>&1 的含义,首先应当知道linux中有三种标准输入输出,分别是STDIN,STDOUT,STDERR,对应的数字是0,12。STDIN就是标准输入,默认从键盘读取信息;STDOUT是标准输出,默认将输出结果输出至终端,也就是显示器之类的东西;STDERR是标准的错误信息,默认也会显示在终端上。由于STDOUT与STDERR都会默认显示在终端上,为了区分二者的信息,就有了编号的0,1,2的定义,用1表示STDOUT,2表示STDERR。
$#: 命令行参数的个数
$0:script 本身的名字
$?: shell指令执行结果,若前一个指令执行正确,则该值为0,错误为非0。

posted on 2015-02-12 13:51 javajohn 阅读(146) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
 

My Links

Blog Stats

常用链接

留言簿(7)

随笔分类(36)

随笔档案(39)

classmate

good blog

企业管理网站

好友

站点收藏

搜索

最新评论

阅读排行榜

评论排行榜