初步认识shell脚本编程(2)

1.为脚本文件赋予执行权限,可以直接以绝对路径或相对路径的方式运行此文件:
               # chmod +x /PATH/TO/SOME_SCRIPT_FILE
               # /PATH/TO/SOME_SCRIPT_FILE

               注意:如果脚本文件所在目录路径存储于PATH变量中,则直接以脚本文件名来执行即可;

       2.直接使用解释器运行脚本,将脚本文件作为解释器程序的参数;
           # bash /PATH/TO/SOME_SCRIPT_FILE
               bash命令的常用选项:
                   -x:使bash在解释脚本的过程展示在标准输出上;一般用于shell脚本排错;
                   -n:对脚本文件进行预执行,以分析脚本中是否存在语法类错误;如果没有错误,则不输出任何信息;相反,则输出简洁的提示信息;具体的错误定位需要自行判断;

           注意:此种方式中,脚本文件是否有执行权限并不是很重要的属性;

       注意:以上两种方式,在执行脚本时,会在当前shell中开启一个新的子shell以运行脚本;一般情况下,当脚本运行结束,该子shell也会被随之销毁;因此,所有在脚本中定义的变量,在脚本末尾处,最好将其明确的撤销;unset gc

[root@localhost ~]# bash -x /tmp/test1.sh
++ egrep '^[[:space:]]*$' /etc/grub2.cfg
++ wc -l
+ a=17
++ egrep '^[[:space:]]*$' /etc/issue
++ wc -l
+ b=1
+ let c=17+1
+ echo 18
18
        3.使用source命令运行脚本:
           # source /PATH/TO/SOME_SCRIPT_FILE
           # . /PATH/TO/SOME_SCRIPT_FILE

[root@localhost ~]# source /tmp/test1.sh
18
[root@localhost ~]# . /tmp/test1.sh
18 

注意:
               1.source命令不会在运行脚本时开启子shell,而是在当前shell中运行;
               2.使用source命令执行的脚本中不要包括诸如exit类的命令;

联系:写一个脚本:
   当Alex用户不存在时,创建之;如果成功创建,则显示成功创建的提示信息,否则显示用户已存在;
   #!/bin/bash
#
! id alex &> /dev/null && useradd alex && echo "cerat alex" || echo "no creat alex"

利用bash脚本程序实现算术运算:
   算术运算操作符:
       常用的基本算术运算符:
           +,-,*,/,%,**

       增强型的算术运算符:
           +=,-=,*=,/=,%=

       特殊的增强型算术运算符:
           ++,--

   算术运算方法:
       1.$[expression]
           其中的表达式可以是纯数字组成的,也可以使用变量引用变量值;在使用变量时,可愿意将$���号省略;

           示例:
               # echo $[3+4]
               # NUM 1=5;NUM2=4; echo $[NUM1+NUM2]
       2.let VAR=EXPRESSION
           根据算术表达式完成算术运算并赋值给指定变量;

       3.$((EXPRESSION))
           同1

       4.expr ARGU1 ARGU2 ARGU3
           其中ARGU1和ARGU3必须是整数数值;ARGU2是算术运算符。

       5.echo "EXPRESSION" | bc

       6.bc <<< "EXPRESSION"

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/869c64fa737a13c8a0cbdf9cd1a6ee4e.html