shell 脚本的基础

  • 第一章  shell脚本的基础

1.什么是shell脚本:

2.shell脚本的作用: 重复性操作、批量事物处理、自动化运维、服务运行状态监控、定时任务执行

3.shell脚本格式:  1.#!开头,后面跟上使用什么解释器来对脚本内容进行解析,一般使用/bin/bash

4.脚本的执行方式:   4.1 没有执行权限   使用bash或者sh 后面根脚本名称

                                       使用source或者.(点) 后面根脚本名称

                    4.2   有执行权限   使用绝对路径或者相对路径执行

5.脚本的格式:   1.创建脚本文件(以.sh结尾)

                2.写脚本

                3.检测语法错误

                4.执行

6.管道与重定向:  管道:  1.管道符 |

                        2.管道符的作用

                 重定向:改变输入输出的方式

         重定向分类: 重定向输入,重定向输出,错误重定向

         重定向输入: 由默认的键盘输入,变更为文件输入  

 重定向输入的使用方式: 命令  选项   参数   <   重定向输入的文件名称

重定向输出: 默认输出结果在显示器显示,变更为存入到文件中

 重定向输出的使用方式: 命令  选项   参数   >或者>>   文件名称

             重定向错误: 默认错误的输出结果在显示器显示,变更为存入到文件中

    重定向错误的使用方式:命令  选项   参数   2>或者2>>   文件名称

       

    不论正确的还是错的都输出到指定文件:   &>  

7.变量的解释7.1什么是变量:shell 传递数据的一种方法

                  7.2变量的作用:将整数值或者字符串值进行变量,然后存储到内存中,脚本在使用中可以调取变量值进行执行操作

  1. 变量的设置规则:  

8.1 变量名可以由字母 数字  下划线组成,但是不能以数字开头

            8.2  =(等于号) 等于号的左边为变量名称,右边为赋值,等号两边不能有空格

            8.3 变量存储的数据类型是整数值和字符串值

            8.4 在对变量赋于字符串值时,建议大家用引号将其括起来,需要使用单引号或双引号

            8.5 要对变量进行调用,可以在变量名称前加美元符号$

            8.6 如果需要增加变量的值,那么可以进行变量值的叠加。不过变量需要用双引号包含“$变量名”或用${变量名}包含

9. 变量的分类:自定义变量   环境变量    位置参数变量   预定义变量

10.自定义变量:  1.给字符串赋值时要把字符串使用””或者’’

                  2.命令替换时使用$()或者` `(反引号)

                  3.单引号和双引号的区别  3.1  单引号是将里面的内容作为一个整体字符串,如果有特殊符号表示的特殊含义则将特殊含义取消,变成普通的字符

                                          3.2 双引号会保留特殊符号的特殊含义

11.环境变量:  11.1分类: 全局变量和局部变量  

11.1.1  全局变量:对所有shell生效

                      11.1.2  局部变量:对设置的shell生效

                 11.2 局部变量转换为全局变量  export  变量名=整数值或者字符串值

                 11.3 删除变量   unset 变量名

  1. 位置变量

用$N表示

例:echo “脚本名称:$0”

… $1

…  $2

  1. 特殊变量

预定义变量:不能修改,已经设定的

$* 表示所以输出的参数

$# 表示参数的个数

$@ 表示与$*相同,但输出结果不同

$* 是将所有输出 “整体” 输出

$@ 是将所有输出 “依次” 分开输出

$$ 进程号PID

$? 显示退出状态,0没有错误,其任意有误

$! 最后进程号PID

  1. 数学运算

expr命令、双括号(())、let、方括号[]、浮点运算bc

3.1 expr只念运算简单的整数,运算之间加空格

expr  length  统计字符串长度

expr  substr  ‘zifuchuan’ 起始位置  截取长度

3.2 双括号(())

                 ++   --             a++等同于a=a+1  a--等同于a=a-1

           +   -   \*   /    %       加  减  乘  除  余数

           \<   \<=    \>   \>=       小于   小于等于   大于  大于等于

               ==    !=               等于      不等于

           &&   ||    !            与     或     非

           ? :             正确取值:左边的数值,错误取直:右边的数值

3.3 方括号[] 在括号内 “+-*?/” “数字” 进行运算

3.4 浮点运算bc

可以指定小数点位数:scale=位数

调试:-n 只读取shell脚本,但不实际执行

-x 进入跟踪方式,显示所执行的每一条命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白xkk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值