• 编写shell脚本


    1、shell脚本的第一行指定要使用的shell,其格式为:#!/bin/shell

    2、执行shell脚本

    • 将shell脚本文件所处的目录添加到PATH环境变量中
    • 在提示符中用绝对或相对文件路径来引用shell脚本文件

    3、检查shell脚本执行权限,若无权限,使用chmod赋予执行文件的权限

    4、显示消息

    • echo +text:如echo This is a test
    • echo+包含引号的text:使用单引号或双引号将字符串圈起来,如:echo 'say "bye"',echo "Let's go"
    • echo  -n +"text: ":在字符串同一行显示命令输出

    5、脚本中的$符号为引用过一个环境变量,可以通过来转义,实现$本身的意义,如:$15。

    6、用户变量可以是任何不超过20个字母、数字或下划线的文本字符串,用户变量区分大小写。值通过等号赋给用户变量,且变量、等号和值之间不能出现空格,如:var=11。

    7、重定向

    • command >outputfile:输出重定向,将命令的输出发到outputfile文件中,outputfile可以新建或覆盖
    • command >>outputfile:输出重定向,将命令的输出发到outputfile文件尾部,outputfile可以新建或尾部追加
    • command <inputfile:输入重定向,将文件的内容重定向到命令
    • command << marker

         data

        marker

      在命令行输入重定向的数据

    • command | command |command:命令重定向,将一个命令的输出重定向到另一个上

    8、数学运算

    • 使用美元符和方括号$[operation]将数学表达式圈起来,如:var1=$[1+5]
    • 使用bc支持浮点运算,格式:variable=`echo "options;expression" | bc`,如:var1=`echo "scale 4;3.14/5" | bc`

    9、状态码

    • 查看退出时的状态码:echo $?
    • 声明退出的状态码:exit num

    10、结构化命令

    • if-then-else:

      if command

       then

        commands

       else

        commands

       fi

    •  嵌套if:

      if command1

      then

        commands

      elif command2

      then

        commands

      fi

    • test命令:[ condition ](注意空格),可以判断三类条件:数值比较、字符串比较、文件比较,如:

      if [ condition ]

      then

        commands

      fi

    • (( expression )):expression可以是任意的数学赋值或比较表达式
    • [[ expression ]]:expression可以定义一个正则表达式来匹配字符串值
    • case 命令

      case variable in

      pattern1 | pattern2) commands1;;

      pattern3) commands2;;

      *) commands;;

      esac

  • 相关阅读:
    一个晚上加一个上午啊 笨死算球
    转来的——python webdriver自动化测试初步印象——转来的
    MySQL软件升级
    创建rhel7基础镜像
    SHELL-收集Oracle已应用的PSU信息
    rhel7.6上安装Oracle 19.2.0.0 RAC
    AIX平台安装Oracle11gR2数据库
    Oracle Database(rdbms) 12.2 安装组件
    HP-UX平台安装Oracle11gR2数据库
    Linux平台安装Oracle11gR2数据库
  • 原文地址:https://www.cnblogs.com/coffeebar/p/5238764.html
Copyright © 2020-2023  润新知