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