一、Shell中的变量
1.常用系统变量
$HOME、$PWD、 $SHELL、$USER等
2.自定义变量
1.基本语法
(1)定义变量:变量=值
注意:等号两边不能有空格
(2)撤销变量:unset 变量
(3)声明静态变量:readonly变量,注意:不能unset,重新启动才会消失。
2.变量定义规则
(1)变量名称可以由字母、数字和下划线组成,但是不能以数字开头,环境变量名建议大写。
(2)等号两侧不能有空格。
(3)在bash中,变量默认类型都是字符串类型,无法直接进行数值运算。
(4)变量的值如果有空格,需要使用双引号或单引号括起来。
(5)可把变量提升为全局环境变量,可供其他Shell程序使用。
export 变量名
#!/bin/bash
echo "hello world"
echo $D
3.特殊变量:$n
1.基本语法
$n
功能描述:n为数字,/$0代表该脚本名称,/$1-/
9
代
表
第
一
到
第
九
个
参
数
,
十
以
上
的
参
数
需
要
用
大
括
号
包
含
,
如
/
9代表第一到第九个参数,十以上的参数需要用大括号包含,如/
9代表第一到第九个参数,十以上的参数需要用大括号包含,如/{10}
案例1如下,编写脚本parameter.sh
#!/bin/bash
echo "$0 $1 $2 $3"
4.特殊变量:$#
$#
功能描述:获取所有输入参数个数,常用于循环。
案例如下:
#!/bin/bash
echo "$0 $1 $2 $3"
echo $#
5.特殊变量:$* 、 $@
$*
功能描述:这个变量代表命令行中所有的参数,$*把所有的参数看成是一个整体。
$@
功能描述:这个变量也代表命令行中所有的参数,不过$@把每个参数区分对待。
案例如下:
echo "$0 $1 $2 $3"
echo $#
echo $*
echo $@
6.特殊变量:$?
$?
功能描述:最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行;如果这个变量的值为非0(具体是哪个数,由命令自己来决定),则证明上一个命令执行不正确了。
案例如下: