3.shell脚本基础笔记-shell变量
hi,我是温新,一名PHPer
什么是变量
变量
:将字符串和数值等值赋予一个名称并将其保存在内存中,以便在其他其他使用这个名称访问其所表示的值。
变量命名规则
:变量使用大/小写字母
、数字
及下划线
组合。变量名不能以数字
开头,不允许使用-
进行连接。
定义变量与使用
定义变更
语法:变量名=值
注意:=
号前后不能有空格
或制表符
使用变量
语法:$变量名
1)正常使用
使用该方式声明变量,变量类型固定为字符串类型。因此 值 不需要使用引号引起来,如果字符串有空格,则需要使用 ''或""包裹。
# 声明变量
name=ziruchu
webname='zi ru chu'
# 使用变更
echo $name $webname
注意:使用一个不存在的变量时,不会报错。如 echo $a
2){}
变量和字符串之间的分隔
需要输出的结果是: my name is lucy
name=luc
echo my name is $namey
# 输出结果 my name is
使用{}
进行分隔
name=luc
echo my name is ${name}y
# 输出结果 my name is lucy
环境变量
什么是环境变量
若在已经定义了一些变量的状态下启动新的命令,则命令会从shell中继承一些变量。这些变量就是环境变量。
如:shell在执行一个命令时,会从当前进程中fork
一个子进程,子进程从父进程继承的内容之就是环境变量。在父进程中设置的环境变量会被复制到子进程并子进程使用,但子进程中的命令不能访问shell中的普通变量。
export 设置环境变量
命令:export
将指定的变量设置成环境变量。
注意:环境变量名一般采用大写;环境变量可以当做变量使用。
# 方式一:设置环境变量
CONFIG_FILE=/home/hello.sh
export CONFIG_FILE
# 变量赋值的同时将其设置为环境变量
export CONFIG_FILE=/home/hello.sh
使用脚本设置环境变量
1)main.sh
#!/bin/bash
CONFIG_FILE=/home/hello.sh
export CONFIG_FILE
sh ./config.sh
2)config.sh
#!/bin/bash
echo $CONFIG_FILE
3)执行脚本:sh main.sh
main.sh脚本中,设置了环境变量且引入并执行了config.sh脚本;
config.sh中进程读取环境变量内容的操作;
当在执行main.sh脚本时,子进程config.sh会继承main.sh中设置的环境变量;
所以,输出的CONFIG_FILE中的内容。
特殊的shell变量
有些变量是系统已经预设好的,可以通过prentenv
查看。下面是常用的环境变量。
PATH
:保存shell启动命令时目录。
HOME
:当前登录用户的用户主目录的绝对路径。
PWD
:保存当前目录路径。
SHELL
:当前登录用户的登录shell绝对路径。
BASH
:保存 bash 命令的绝对路径。
BASH_VERSION
:当前 bash 的版本信息。
LINENO
:当前脚本所执行的脚本文件的行号。
我是温新
每天进行一步点,就一点点