shell编程(一)

1.0 转义字符  `\`

     为什么要转义字符?因为shell编程中,有一些关键的字符,表达了某些意思,如果不用转义,会引起不同意思。

 \\  反斜杠\$  美元符\"  双引号 \'  单引号  \*  星号\n  换行符(0xA) \r  回车符(0xD) \t  水平制表符 \v  垂直制表符 \[  左方括号 \]  右方括号

2.0 自定义变量,

     2.1 变量字义,var="hell world"      因为shell编程都是把变量当字符串,所以可以var=hellworld   但如果有空隔,必须双引号或               单引 号                   这里应该注意  =   左右两边不能有空隔

     2.2 变量 引用   echo $var                       变量的引用应该用前面加$符号

     2.3变量保护     如果输出    echo $vare   会输出什么呢?显然为空,但实际意思只是echo  ${var}e    ,所以{}作为保护

     2.4变量的取消           unset $var

     2.5 注意单引号与双引号     echo '$var'  区别  echo  "$var"       echo " '$var' " ?   

     2.6  空置换:-     空赋值:=    空出错:?  

3.0  环境变量

        3.1  查看环境变量     env     

                什么叫环境变量?个人解理:我们的程序都是运行在shell内,都是shell的子程序, shell为父亲。shell中的一些变量会传递给子程序,全局变量    void main(int argc ,char **argv)      argc  参数个数   argv参数  及环境变量

        3.2  导入环境变量

                      export   var=ddddddddddd         导入的环境变量是临时的,每次开机都会被清除

                      如果每次开机想加入环境变量,则应该把此环境变量加入到启动shell当中。

       3.3  系统变量

# $0  命令本身
# $1  命令行参数的第 1 个参数
# $2  命令行参数的第 2 个参数
# $n  命令行参数的第 n 个参数,依此类推

# $*  命令行全部参数,格式:"参数1 参数2 ..."
# $@  命令行全部参数,格式:"参数1" "参数2" ...
# $#  命令行参数的个数,从 $1 开始计算

# $?  前一个命令的返回值

# $!  前一个命令的进程 ID
# $$  本程序的进程 ID

 4.0 表达式(运算符跟c语言基本相同)

        第一种:a=((b+c))        第二种:      let  a=b+c     第三种:     a=`expr  $b+$c`

5.0   进制       3#111     表示为3进制的 111     0117   表示为八进制     0x11  表示为十六进制

 

6.0   if    与  case    -eq   -neq   -gt    -lt     

         注意:if 后必须加空隔    [  ] 内部两边必须加空隔

  

        if ((a+b));then

         fi

         ------------------------------------------

         if  [ a + b ];then

         else

          fi

        --------------------------------------------------------

        if test a -eq b  ;then

        elif

          else

          fi

 --------------------------------------------------------------------------------------------  

       case $file  in  

      1)                  ;;

        2)              ;;

        *)                ;;#  这里默认为default

       case $file in

    1|2|3)                      ;;

    *)                        ;;

7.0  文件条件判断运行符

# 文件条件判断运算符:
# -e  文件是否存在 
# -d  文件是否是目录
# -f  文件是否是常规文件
# -L  文件是否是链接文件
# -r  文件是否可读
# -w  文件是否可写
# -x  文件是否可执行
# -nt 左边文件是否比右边文件新
# -ot 左边文件是否比右边文件旧

 

        

 

 

你可能感兴趣的:(shell编程)