shell脚本编程规范与变量

image.png



shell的做用:web


image.png


  • image.png

  • image.png


环境:shell

平台:VMware workstation 14bash

系统:CentOS Linux release 7.4.1708 (Core)app


编写第一个shell脚本:ide

  image.png   注: sh为脚本格式   first为脚本的名称 spa

image.png  first脚本中的内容orm

image.png 给全部人加权crontab


shell脚本的执行方式:ci

1 脚本的路径it

     绝对路径 

           image.png

     相对路径

               image.png

   注:必须脚本文件要有执行权限

          

2      sh 脚本文件路径

      image.png

     注: 若是脚本文件在opt目录下,  则: sh /opt/first.sh   /  先cd /opt  再 sh first.sh


3    source 脚本路径

    image.png



注:2 -a 3能够不须要执行权限   1必需要



编写第二个shell脚本:

shell脚本的构成:

 1  脚本声明

  #!/bin/bash   声明后面的命令能够经过此shell程序去解释并执行

 2  注释信息

   摘要,脚本做用,参数说明,工做效率,建立日期,做者,版本声明,第几回修改,每次返回的动态值的定义等

 3  可执行的命令语句

    注:全部特殊符号必须是英文模式输入

实例1:新建文件



image.png

image.png

image.png

image.png

实例2:删除文件

image.png

image.png

实例3:建立用户

image.png

image.png

cat /etc/passwd

image.png

实例4: 建立指定容量的文件

image.png


image.png

实例5: 计划任务

crontab -e

image.png

image.png

天天的下午1点半执行2.sh这个脚本一次



更友好的显示脚本内容:

image.png

image.png




重定向与管道操做:

image.png

image.png


实例6:使用密码文本文件 修改用户密码  


image.png

image.png

image.png

解:  建立一个密码文件passwd.txt  密码为:123456

tom为已有用户,将密码文件导给tom 实现重置tom的密码为123456


实例7:

image.png

image.png

将ls这条命令的输出保存到 1.txt文件中


image.png

> 覆盖原有的内容

>>  追加


实例8:

image.png


image.png

将标准输出1.txt  标准错误输出2.txt中



image.png

实例9:

image.png

image.png

image.png

image.png




shell变量的做用,类型

image.png


自定义变量

  1. 声明变量不须要声明类型

  2. 能够存储不一样类型内容 A=wa1

  3. 有时候使用变量时要明确变量类型

  4. 严格区分大小写

  5. 等于号两边不容许出现空格

  6. 不能使用标点符号做为变量名

  7. 不能使用bash里面的关键字做为变量名

  8. 首个字符必须是字母(a-z A-Z或_)


格式   变量名=变量值

查看变量:

     echo $变量名

     echo ${变量名}


经过echo进行一个输出变量,其中$是引用变量的特殊字符(必需要使用$符号)


注:echo和调用的变量之间必需要有空格

       当须要一块儿调用多个变量时,以空格隔开

        当变量名和后面的字符混淆的时候,应使用{ }将变量名括起来


image.pngimage.png


变量赋值的特殊操做:

1 双引号 ""

   当变量值之间有空格的时候,要使用""括起来

image.png

2 单引号 ' '

禁止引用变量值,将$符号看成普通字符来使用

image.png

3 反撇号 ``

与$() 效果同样

做用:命令替换,提取命令执行的结果

image.png

image.png


image.png

优先执行反撇号里面的内容,再执行其余

变量赋值的时候,若是想要赋值的是某条命令执行的结果,必须使用反撇号

缺点:反撇号部不是现嵌套命令替换操做,这时候使用$()来替换


4 交互式赋值 read

read 命令用于提示用户输入信息,从而实现简单交互过程(输入命令就是一个交互式过程)

image.png

多个变量名交互式赋值,赋值之间有空格,变量名也有空格

为了更友好,一般使用-p 来提示信息

image.pngimage.png


5 设置变量的做用范围

export  变量名 ...

export 变量名=变量值

做用:设置全局变量,全部子shell程序均可以使用此变量

image.png

image.png注:bash为切换环境 export导为全局变量


永久生效:

vi /etc/profile

export 变量名=变量值

source /etc/profile



整数变量的运算

expr 变量1 运算符 变量2 ...   

$(())          ++  --  **

 image.png

image.pngimage.png

    经常使用变量:

         +   -    \*    /   %




环境变量


配置文件:

全局

单用户:




 常见的环境变量

PWD :显示当前所在的工做目录

USER :  显示用户名称  能够查看当前登录的用户

HOME:  用户的家目录 显示当前用户的家目录

LANG: 语言和字符集变量 

PATH: 命令搜索路径  , 能够用tab键补全

PS1: 提示符变量

SHELL:shell程序


image.pngimage.png



位置变量

image.png

预约义变量

image.png

相关文章
相关标签/搜索