Shell是什么
Shell是一个命令解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以通过Shell来启动、挂起甚至编写一些程序。
Shell脚本执行方式
脚本格式要求
- 脚本以#!/bin/bash开头
- 脚本需要有可执行权限
脚本的常用执行方式
方式1:输入脚本的绝对路径或相对路径(首先要赋予脚本x权限,再执行脚本)
方式2:sh+脚本 (不用赋予脚本x权限,直接执行即可)比如:sh+
Shell变量
Shell变量介绍
1、Linux Shell中的变量分为 系统变量和用户自定义变量
2、系统变量: $HOME 、$PWD 、$SHELL 、$USER等
3.显示当前shell中所有变量:set
shell的变量
基本语法
1、定义变量:变量名=值
2、撤销变量:unset 变量
3、声明静态变量:readonly变量,注意:不能unset
shell变量的定义
定义变量的规则
1、变量名称可以由字母、数字和下划线组成,但是不能以数字开头
2、等号两侧不能有空格
3、变量名称一般习惯为大写
将命令的返回值赋给变量
1、A=‘date’ 反引号,运行里面的命令,并把结果返回给变量A
2、A=$(date)等价于反引号
设置环境变量
linux shell中的环境变量,可以理解成全局变量
基本语法
1、export 变量名=变量值 (将shell变量输出为环境变量/全局变量)
2、source 配置文件 (让修改后的配置信息立即生效)
3、echo $变量名 (查询环境变量的值)
单行注释:#
多行注释::<<! ! 两组符号共同组成多行注释,两组符号单起一行
位置参数变量
介绍
当执行一个shell脚本时,如果希望获取到命令行的参数信息,就可以使用位置参数变量
如:./myshell.sh 100 200,这就是一个执行shell的命令行,可以在myshell脚本中获取到变量信息
基本语法
$n : n为数字,$0代表命令本身,$1-$9代表第一到第九个参数,十以上的参数需要用大括号括起来,如:${10}
∗
:
这个变量代表命令中所有的参数,
* : 这个变量代表命令中所有的参数,
∗:这个变量代表命令中所有的参数,*把所有的参数看成一个整体
@
:这个变量也代表命令行中所有的参数,不过
@ :这个变量也代表命令行中所有的参数,不过
@:这个变量也代表命令行中所有的参数,不过@把每个参数区分对待
$# :这个变量代表命令行中所有参数的个数
预定义变量
基本介绍
即shell设计者事先已经定义好的变量,可以直接在shell 脚本中使用
基本语法
$$ :当前进程的进程号(PID)
$! :后台运行的最后一个进程的进程号
$? :最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行;如果这个变量的值为非0(具体是哪个数,由命令自己决定),则证明上一个命令执行不正确