一、shell是用户与linux操作系统之间的一个命令解释器,shell是操作系统的最外层,shell可以合并编程语言以控制进程和文件,以及启动和控制其他程序。
不同的shell语言的语法有所不同,一般不能交换使用,最长用的shell是bash
二、shell脚本案例:
hello.sh
#!/bin/bash
#This is my Firest shell
#by author xxx 2020
echo "hello world!"
#!/bin/bash 定义该脚本所使用的shell类型,添加执行权限后(chmod +x hello.sh)可以通过 ./hello.sh 执行
也可通过sh hello.sh执行
#表示注释
三、shell变量:
shell为弱类型语言,定义变量不需要声明类型,通过“=”为变量赋值,通过echo $变量名进行查看,如a=123;echo $a
shell变量分为系统变量、环境变量、用户变量
系统变量在对参数判断和命令返回值判断时使用,如$?,[ 2 -gt 1 ]&&echo 'yes'||echo 'no'
环境变量主要是程序运行时需要设置,输入env查看,可通过~/.bash_profile 配置,或将局部变量升级为环境变量,a=123;export a
用户变量又称为局部变量,多在shell脚本内或临时使用
shell编程常见系统变量为:
1、$0当前脚本的名称
2、$n当前脚本的第n个参数,n=1~9.
3、$*当前脚本的所有参数
4、$#当前脚本参数的个数
5、$?:命令或程序执行完后的状态,返回0表示执行成功
6、$$程序本身的PID号
环境变量:
PATH:命令路径,以冒号分割
SHELL:当前shell类型
查看所有变量:set
获取随机变量:echo $RANDOM#范围[0, 32767]