shell脚本的基本使用--bash

  学习shell脚本主要是为了方便一部分的自动化运维,如一些软件的自动化的安装,避免反反复复的敲命令,尽管使用python写管理脚本更加方便,但是学一下shell还是很有必要的。

  本文中使用的shell为bash。

  1. 第一个shell脚本

  touch test.sh                     #新建脚本文件

  chmod u+x test.sh           #添加执行权限

  vim test.sh                         #添加脚本内容

    #!/bin/bash                      #/bin/bash为shell命令的绝对路径

    echo "hello shell"

  ./test.sh                             #执行脚本,也可使用绝对路径,如: /root/XXXX/test.sh,  或者bash test.sh

2. shell 变量

  变量是shell传递数据的一种方法,变量是用来代表每个值的符号名。

  shell变量分为两种:临时变量和永久变量。

    临时变量:shell程序内部定义,使用范围仅限于定义它的程序,对其它程序不可见。

    永久变量:即环境变量,其值不会随程序执行结束而消失。如: echo $HOME(当前用户家目录), echo $PATH

  变量命名规则:由字母数字和下划线组成,但不可以以数字开头,区分大小写,变量名字长度无限制。

  使用变量名时要在变量名之前加上前缀"$"。

  变量赋值时复制号两侧不可有空格: 如 num1=123,num2=$num1, num3=$(date)

  输出变量:echo $num1 $num2 $num3

  变量和其他字符串组成新的字符串时变量要用"{}"与字符串分隔,防止出错:

    DAY=Mon

    echo Today is ${DAY}day

  列出所有变量,包含临时变量和永久变量:

    set       #列出所有变量

    set | grep HOME    #过滤出环境变量$HOME

3. 单引号和双引号的区别

  单引号中的内容原样输出,其内包含的命令不会执行,只是当做字符串进行输出:   echo ‘the date is ·date·’    , echo 'num1=$num1'

  双引号中的命令会被执行,执行结果作为最终字符串的一部分输出: echo "the date is `date`" , echo "num1=$num1"

4. 删除变量

  unset

  unset num1    #删除变量num1, 此时再输出num1时num1已被删除。

5. 位置变量和特殊变量

  touch test2.sh

  chmod u+x test2.sh

  vim test2.sh

    echo $0    #执行脚本的命令, 此处为: ./test2.sh

    echo $1      #第一个参数,即a

    echo $2      #第二个参数, 即b

    echo $*       #所有参数,即a b

    echo $#      #参数个数 ,2

    echo $?      #执行上一个指令的返回值,成功为0,失败非0

    echo $$      #当前进程PID

  ./test2.sh

6. 输入变量

  read

  read a b c    #输入三个变量。分别复制给a,b,c

  echo $a $b $c

  read -p "enter a number" a     # -p 输入提示语

  echo $a

7. 算数运算

  expr

  expr只能对整数进行算数运算,运算符两侧要有空格。

  expr 1 + 2

  expr 1 - 2

  expr 1 / 2

  expr 1 \* 2  #expr的乘法比较特殊,需要转义字符

  expr $num1 - $num2

  expr `expr num1 + $num2` \* $num2   #复合运算

现在正在做系列视频课程,课程中会提供视频中涉及的操作文档、软件包,系列课程内容更加完整、贴近实际工作。欢迎感兴趣的小伙伴到[网易云课堂](https://study.163.com/course/introduction/1005734052.htm)进行学习。

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值