精简shell脚本

shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具

熟练掌握Linux正则表达式及三剑客(grep,sed,awk)

默认脚本都是以.sh结尾

  #!/bin/bash   声明(#!固定格式)

例如:a=10

           if   [   $a   -ne    10   ];then

                       echo "真的"

           else

                       echo  "假的"

          fi

   if   如果(开头)   fi   (结尾)

-eq  等于,-ne 不等于,-gt  大于 , -lt  小于 ,-ge 大于等于, -le 小于等于

else  其他所有

then  那么

elif  否则

一个“=”是负值,把右边数值给左边    a=1

二个“==”是等于,两个等号是判断大小  a==1

read  交互命令    num  变量名

read  -p :参数

例如:read  -p  "请输入一个数字: "   a

&&:逻辑与,脚本里前面语句执行为真,后面语句才会执行,前面语句执行为假,后面语句就不在执行

|| :逻辑或,前面语句执行为假才会执行后面的,前面是真就不会执行后面了

逻辑或永远在最后且只有一个,逻辑与可以有很多

 

清空日志的三种方法:

1.  echo  >test.log

2.  >test.log

3.  cat /dev/null  >test.log

清空内容,保留文件

不同语言脚本的开头写法

#!/bin/sh

#!/bin/bash

#!/usr/bin/awk

#!/bin/sed

#!/usr/bin/tcl

#!/usr/bin/expect

#!/usr/bin/perl

#!/usr/bin/env python

脚本执行的几种模式

1. bash scripts  -name或sh scripts-name

这种方法是当脚本本身没有可执行权限时常使用的方法

2. path scripts -name或scripts -name

全路径或当前路径执行脚本,这种方法首先需要给脚本文件可执行权限

3. source scripts-name或. scripts-name

注意‘.’点号,且点后有空格.source或.在执行这个脚本的同时,可以将脚本中的函数和变量加载到当前shell。不会产生子shell。又有点像nginx的include功能。

变量类型分类

1. 环境变量(全局变量):可以创建他们的shell及派生出来的子shell中使用,环境变量又可以分为自定义环境变量和bash内置环境变量

2. 局部变量(普通变量):只能在创建他们的shell函数或shell脚本中使用,我们创建的一般是普通变量。

全局是整个Linux,局部是当前shell

$# :代表传递参数的个数

$* : 把所有参数罗列出来

$@:把输出所有参数罗列出来

$0: 脚本的执行路径

$1: 第一个参数

 

总结

1.变量的作用域,局部和全局,export 变量

2. read -p“一段话” 变量,这是让用户从前台交互输入内容

3.  比大小 [  数字  |  参数  数字2  ],这个形式叫条件语句

4.  if条件1 ;then

       动作1

    elif  条件2  ;then 

       动作2

    else

      动作3

     fi

5. $#  $*  $@  $0  $1

原文地址:https://www.cnblogs.com/woshifanren/p/9879778.html