一:关于脚本
1:linux下的脚本简单的概括起来就是将多个命令,变量 嵌套与不同的控制语句及函数中而组合起来的一个顺序执行命令的批处理任务2:在linux中一个脚本的展开需以#!/bin/bash开始下面可以附加一些关于脚本的相关的注释信息:比如:作者,脚本的要实现的功能,版本,时间等3:最后一个脚本的执行时该脚本必须要有执行权限或者使用bash scripts_name 的形式执行4:脚本不需要编译执行,而是解释执行(执行效率比较低)。
二:基础
变量linux脚本中的变量不需要事先声明,而是直接定义使用(这点不同于其他高 级编程语言中变量的使用)
变量的分类:
本地变量(局部变量):在一段代码串(一个函数或者控制语句等)中定义的变量
该变量在当前shell生效
环境变量 :当前使用的shell中定义的变量(export 定义的变量或者env,set中定义的变
改变量在当前设shell及其子shell中生效
特殊变量:常见的$?(一个命令的执行状态的返回值) 0 为正确结果,其他数值的为错误结果
位置变量:$1 $2 $3....${10},${11}...${n}
变量的赋值:
变量的赋值:var_name=var_value
显示变量的值使用echo var_name
例如:
另外我们可以将一个命令的的执行结果赋值给一个变量
var_name=`COMMAND` 的形式引用 变量的引用:通过上面的例子我们可以发现 变量的引用时通过$符号加上变量名的形式引用变量的 $var_name 命令替换
关于命令的替换,必须明白三种符号 ""(双引号) ''(单引号) ``()的意义 看 下面的例子,我们由此展开
"": 可以实现命令替换'': 变量强引用 ``: 对命令的结果引用(命令替换) 上面的例子还可以使用echo $(cat a.txt)命令的逻辑关系
命令的逻辑关于有三种 与关系 command1&&command2 command1 和command2 同时为真是结果才为真 command1 和command 其中一个为假结果则为假 备注:当command1为真时command2才执行,command1为假时command不执行(结果已经明确了) 或关系 command1||commadn2 command1 和command2 同时为假是结果才为假 command1 和command 其中一个为真结果则为真 备注:当command1为假时command2才执行,command1为真时command不执行(结果已明确了) 非关系 !command 比命令的执行结果取反例1:
例2:
例3:
条件测试一般格式 [ express ] 或者test express
[[ express ]] (代表关键字)
整数测试:
关于整数测试的符号有:
-gt(大于) -ge(大于等于)
-lt(小于) -le(小于等于)
-eq(等于) -ne(不等于)
整数的测试须放在[]中就行例如:
注意[]内的两头必须有空格。算术运算:
let [ express ]
expr express
例如:
注意两边的空格
字符串测试:
(字符串的比较实际上其对应的ASCII的比较,另字符串的测试一般放在[[ ]]中进行运算符:>(大于) >=(大于等于)
<(小于) <=(小于等于)