Linux学习笔记----初识Linux----shell编程
shell脚本编程基础
-
变量的定义:
直接定义 str=hello //等号两端不能有空格
双引号定义 str=“hello”//保留特殊字符的含义
单引号定义 str = ‘hello’ //去除特殊字符的含义 -
变量的引用
小飘号定义str=date
或则 str=$(date)
echo hello >1.txt 输出重定向(覆盖原内容)
echo world >>1.txt 输出重定向(不覆盖原内容,追加) -
特殊变量
$0 命令本身
$1 n //取命令行参数
[email protected]//取所有的参数
$? //判断上一条命令是否执行成功,成功打印0 失败打印非0
$#//传递参数的个数
显示当前的进程号 -
环境变量
env //显示所有环境变量
HOSTNAME:当前主机名
SHELL:shell类型
QTDIR:qt安装路径
USER:当前用户
PATH:指定当前命令寻找路径
export LD_LIBRARY_PATH=./:$LD_LIBRARY_PATH(设置动态库路径,这样就不用将动态库复制到usr/lib里了 LD_LIBRARY_PATH: 动态库的查找路径)
-
输入输出:read num//输入num
echo命令printf//输出 -
计算表达式的四种方法
var= $ ((1+2))
var=$ 4[1+2]
let var=1+2
var=$(expr 1 + 2) -
test 条件表达式
test 表达式1 = 表达式2 等号两边须有空格
test string1 = string2
[条件表达式] [ string1 = string2 ]
条件表达式值为真返回0,为假返回非0
echo $? 非0为假,0为真 -
判断整数
-gt:大于
-ge:大于等于
-eq:等于
-le:小于等于
-lt:小于
-ne:不等于
-a:两个条件都有满足 and
-o:满足一个条件即可 or -
字符串比较
[[ -z str ]] //长度为0 返回0
[[ str1 == str2 ]]//判断是否相等
[[ str1 != str2 ]] -
文件条件测试
-
if then else
-
case语句
-
for语句
-
while语句
-
until语句
-
break continue
-
数组&函数
-
数组
定义 1: a=(1 2 3 4 5)下标从 0 开始 各个数据之间用空格隔开
定义 2: a[0]=1;a[1]=2;a[2]=3
定义 3: a=([1]=1 [2]=2)
引用
取值: ${a[0]}
${a[@]} //取数组中所有的值
${#a[@]} //取数组的长度
${a[@]:2} //截取下标为2以后的所有元素
${a[@]:2:2} //截取下标为2以后的2个元素 -
函数
调用的时候直接写函数名即可
无返回值 无参数 仅仅用来封装代码
function_name()
{}