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

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。

你可能感兴趣的:(Unix中 &0 &1 &2 $# 啥意思)