shell简介及基本使用
什么是shell
Shell(外壳) 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。在linux中有很多类型的shell,不同的shell具备不同的功能,shell还决定了脚本中函数的语法,Linux中默认的shell是/bin/bash(重点),流行的shell有ash、bash、ksh、csh、zsh等,不同的shell都有自己的特点以及用途。
shell的使用流程
案例1:创建test.sh,实现第一个shell脚本程序,输出hello world.
注意:输出的内容如果包含字母和符号(不包含变量),则需要用引号包括起来。如果是纯数字可以包也可以不包。
注意,这里在运行时一定要写成 ./test.sh,而不是 test.sh,运行其它二进制的程序也一样,直接写 test.sh,Linux 系统会去 PATH(环境变量) 里寻找有没有叫 test.sh 的,而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 里,你的当前目录通常不在 PATH 里,所以写成 test.sh 是会找不到命令的,要用 ./test.sh 告诉系统说,就在当前目录找。
变量
变量,先定义后使用。
定义形如:name="liuchenxu "
使用形如:echo $name
在使用变量的时候一定需要在变量名前面添加一个$符号
注意:在计算时应该用以下形式计算
变量名后面的等号左右不能有空格
关于单双引号的问题:
双引号能够识别变量,双引号能够实现转义(类似于“\*”)
单引号是不能识别变量,只会原样输出,单引号是不能转义的
注意:` 于 ' 不同
语法:read -p 提示信息 变量名
条件判断语句
if [[ 条件判断 ]]; then
条件成立
elif [[ 条件判断 ]]; then
条件成立
else
条件成立
fi
案例2:变量a为10,判断a的值的范围
#!/bin/bash
a=10
b=20
if [[ $a -ge 0 && $a -le 20 ]];then
echo "0=<a<=20"
else
echo "a<0 或 a>20 "
fi
循环语句
循环语句有for、while、until,以for为例
for 变量名 in 变量取值列表
do
指令
done
也可以写成C语言格式
案例3:使用for循环输出i/3+1
#!/bin/bash
for(( i=1; i<=10; i++));do
echo "$[$i/3+1]"
done