上一篇:Linux学习笔记 #3
下一篇:404 NOT FOUND
11 Shell编程
11.1 基本介绍
- Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求一边运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。
- 脚本格式要求:
- 脚本以#!/bin/bash开头
- 脚本需要有可执行权限
- 文件名一般以.sh结尾
- 单行注释:
#
;多行注释:开始行::<<!
,结束行:!
11.2 Shell脚本的执行方式
-
脚本常用的执行方式:
- 方式一:输入脚本的绝对路径或相对路径
首先要赋予.sh脚本的+x权限,再执行脚本
- 方式二:不用赋予脚本+x权限,直接执行即可
- 方式一:输入脚本的绝对路径或相对路径
-
示例:Shell脚本之HelloWorld
- 编写Shell脚本(
vim hello.sh
):
- 赋予权限:
- 执行输出Hello, world!(相对路径或绝对路径皆可)
- 不赋予+x权限的执行方式:
- 编写Shell脚本(
11.3 Shell变量
-
Linux Shell中的变量分为系统变量和用户自定义变量。
- 系统变量:$HOME、$PWD、$SHELL、$USER等等
- 【指令】查看系统变量$HOME:
echo $HOME
- 【指令】显示当前shell中的所有变量:
set [| more]
-
定义变量的规则
- 变量名称可以由字母、数字、下划线组成,但是不能以数字开头
- 等号的两侧不能有空格
- 变量名称一般习惯为大写
-
注意点
- 将命令的返回值赋给变量时,需要用如下含反引号的写法:
A=`date`
如果不加反引号,是把date这个单词赋给A;如果加反引号,是运行反引号中的命令,并把结果返回给变量 A
- 写法
A=$(date)
等价于反引号
- 将命令的返回值赋给变量时,需要用如下含反引号的写法:
-
示例1——定义变量A
#!/bin/bash #定义变量A A=100 #输出变量需要加上$,有两种输出方法: echo A=$A echo "A=$A"
-
示例2——撤销变量A
#撤销变量A unset A echo "A=$A"
-
示例3——声明静态的变量,其不能unset
#声明静态的变量 readonly B=2 echo "B=$B"
11.4 设置环境变量
- 【指令】将shell变量输出为环境变量/全局变量:
export 变量名=变量值
- 【指令】让修改后的配置信息立即生效:
source 配置文件
- 【指令】查询环境变量的值:
echo $变量名
- 设置环境变量的位置:/etc/profile文件
- 设置环境变量的意义:变量可被多个文件使用
11.5 位置参数变量
当执行一个shell脚本时,若想获取到命令行的参数信息,就要用到位置参数变量。
- 示例
11.6 预定义变量
- 预定义变量是shell设计者事先已经定义好的变量,可以直接在shell脚本中使用。
上一篇:Linux学习笔记 #3
下一篇:404 NOT FOUND