Shell的内置变量

Shell中提供了一些以$开头的内置变量,见下表:

描述

$?

表示Shell命令的返回值

$$

表示当前Shell的pid

$-

表示当前Shell的命令行选项

$!

最后一个放入后台作业的PID值

$0

表示脚本的名字

$1-$9

表示脚本的第一到九个参数

${10}

表示脚本的第十个参数

$#

表示参数的个数

$*,$@

表示所有的参数,有双引号时除外,"$*"表示赋值到一个变量,"$@"表示赋值到多个。

    所有的内置变量都比较容易理解,因此这里仅给出$*和$@的区别用法:
    /> set 'apple pie' pears peaches
    /> for i in $*
    >  do
    >  echo $i
    >  done
    apple
    pie
    pears
    peaches

    /> set 'apple pie' pears peaches
    /> for i in $@
    >  do
    >  echo $i
    >  done
    apple
    pie
    pears
    peaches


    /> set 'apple pie' pears peaches
    /> for i in "$*"           #将所有参数变量视为一个
    >  do
    >  echo $i
    >  done
    apple pie pears    peaches
    
    /> set 'apple pie' pears peaches
    /> for i in "$@"
    >  do
    >  echo $i
    >  done
    apple pie                   #这里的单引号将两个单词合成一个.
    pears
    peaches   

posted @ 2019-03-13 14:07  山的那一边  阅读(457)  评论(0)    收藏  举报