shell脚本初学
1.基本概念
shell脚本是一门解释非编译、弱类型的脚本语言,意思是说shell是命令行解释器,它在执行时不需要编译,且shell中的变量不需要定义类型。
shell执行命令的方式有两种:
(1)交互式:用户输入一条命令,shell就解释执行一条;
(2)批处理:用户事先写一个Shell脚本,其中有很多条命令,让Shell一次把这些命令执行完,而不必一条一条的敲命令。
shell的开头是:#!/bin/bash;其中#!称为“shebang”,告诉系统这个脚本需要哪个解释器来执行
echo命令是向窗口输出文本
注:shell中用#进行注释,但#位于第一行开头表示该脚本使用后面指定的解释器/bin/bash解释执行。
2.shell脚本的两种执行方式
(1)作为可执行程序
(2)作为解释器参数
3.shell变量
shell是弱类型语言,不需要强调shell变量的类型,而且shell变量也不需要提前定义,需要直接使用即可。想要删除变量可用ubset。
readonly命名可以将变量定义为只读变量,只读变量的值不可被修改也不可以被unset删除
本地变量只在本bash中有效,环境变量对于所有程序(包含shell启动的程序)都可访问
4.条件测试
shell脚本中的测试用命令完成,根据退出码判断代码是否执行完并且结果正确,通常是0代表正确1代表不正确。常见的测试命令有test和[。
测试整数:-eq等于 -ne不等于 -lt小于 -gt大于 -le小于等于 -ge大于等于
字符串测试:== != -z空串 -n不为空串
文件测试:-c字符设备 -b块设备 -f文件设备 -d目录设备
5.多条件测试
逻辑或: -o,两条件至少满足一个即为真
逻辑与:-a,两条件同时成立才为真
if/then/elif/else/fi以及循环嵌套
&&:第一个条件成立再看第二个条件,否则不看后面的条件
||:第一个条件不成立则执行第二个条件;第一个条件成立则不执行第二个条件
case/esac