1. shell简介
shell是什么:shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动、挂起、停止甚至是编写一些程序。
2. shell脚本快速入门:shell脚本的执行方式
2.1 脚本格式要求
- 脚本要以#!/bin/bash开头。
- 脚本需要有可执行权限。
2.2 编写第一个脚本程序
- 创建一个shll文件:vim myShell.sh。
然后编写:注意shell不需要;分号来作为结尾。
#!/bin/bash
echo "hello, world!"
给脚本文件可执行权限:chmod 744 myShell.sh。
然后以相对路径或者绝对路径的方式执行文件。
Linux Shell中的变量分别为,系统变量和用户自定义变量。
- 系统变量:
- $HOME、$PWD、$SHELL、$USER等等
- 比如:echo $HOME等等……
- 显示当前shell中所有变量:set。
3.2 shell变量的定义
- 基本语法:
- 定义变量:变量=值。
- 撤销变量:unset 变量。
- 声明静态变量:readonly 变量,注意:不能unset。
- 案例:可把变量提升为全局环境变量,可供其他shell程序使用。
- 定义变量的规则:
- 变量名称可以由字母、数字和下划线组成,但是不能以数字开头。
- 等号两侧不能有空格。
- 变量名称一般习惯为大写。
- 将命令的返回值赋值给变量:(重点)
- A=
ls -la
反引号,运行里面的命令,并把结果返回给变量A。 - A=$(ls -la)等价于反引号。
- A=
4. 设置环境变量
4.1 基本语法
- export 变量名=变量值:将shell变量输出为环境变量。
- source 配置文件:让修改后的配置信息立即生效。
- echo $变量名:查询环境变量的值。
5. 位置参数变量
5.1 基本介绍
当我们执行一个shell脚本时,如果希望获取到命令行的参数信息,就可以使用到位置参数变量。
比如:./myshell.sh 100 200,这就是一个执行shell的命令行,可以在myshell脚本中获取到参数信息。
5.2 基本语法
- $n:n为数字,$0表示本身,$1-!9代表第一到第九个参数,十以上的参数需要用大括号包含,如${10}。
- $:这个变量代表命令行中所有参数,$把所有的参数看成一个整体。
- $@:这个变量也代表命令行中所有的参数,不过$@把每个参数区分对待。
- $#:这个变量代表命令行中所有参数的个数。
6. 预定义变量
基本介绍:就是shell设计者事先已经定义好的变量,可以直接在shell脚本中使用。
基本语法:
- $$:当前进程的进程号PID。
- $!:后台运行的最后一个进程的进程号PID。
- $?:最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行;如果这个这个变量的值为非0(具体是哪个数,由命令自己来决定),则证明上一个命令执行不正确了。
应用实例:
7. 运算符
基本介绍:学习如何在shell中进行各种运算操作。
基本语法:
- $((运算式))或者$[运算式]。
- expr m + n:注意expr运算符间要有空格。
- expr m - n。
- expr *,/,%。乘,除,取余。
8.条件判断
8.1 判断语句
基本语法:
应用实例:
- [ atguigu ]:返回true。
- []:返回false。
- [ condition ] && echo OK || echo notok:条件满足,执行后面的语句。