3.shell脚本基础笔记-shell变量

作者: 温新

分类: 【Linux】

阅读: 1663

时间: 2022-02-13 14:41:49

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:当前脚本所执行的脚本文件的行号。

我是温新

每天进行一步点,就一点点

请登录后再评论