Shell脚本编程(一) —— 变量定义(用户自定义变量、位置变量、预定义变量、环境变量)
创始人
2024-01-26 18:46:19
0

        目录

1、用户自定义变量

2、位置变量

3、预定义变量

4、环境变量(一次性全局变量)

5、永久全局变量(重启以后依然存在的变量)

(1) 本地变量文件

(2) 全局变量文件


1、用户自定义变量

定义变量: 变量名=value              

读取变量内容:$变量名 或者 ${变量名}

删除变量: unset 变量名

变量命名:

  • 建议使用大写来和命令区分开,比如 test、echo、ls等命令都是小写
  • 字符串要用引号
// variable.sh
NAME='gzx'
AGE=17echo name: $NAME and age: $AGEunset NAME

测试脚本的时候,需要给脚本添加运行权限,如果你是这个.sh文件的创建者,在命令行输入下面两者中的一种

# 如果是可以创建者、组、其他都加上执行权限
chmod a+x variable.sh# 如果只是给创建者加上执行权限
chmod u+x variable.sh

 测试结果如下:

2、位置变量

位置变量不需要显式去定义变量名,其实是根据命令行参数的位置来读取对应的内容的。Shell脚本的内容如下:

# 打印两个命令行参数的内容
# $1 表示引用命令行参数的第一个参数
# $2 表示引用命令行参数的第二个参数
echo first param: $1 and second param: $2

命令行输入如下:

./variable.sh gzx 17

3、预定义变量

预定义变量指的是系统已经内置了一些变量,我们只需要直接使用 $符号来引用。常见预定义变量的引用如下:

  • $0         脚本名
  • $*         所有的命令行参数
  • $@       所有的命令行参数
  • $#        命令行参数的个数
  • $$        当前进程的PID
  • $!         上一个后台进程的PID(命令行指令 & 表示让进程后台运行)
  • $?        上一个命令的返回值,0代表成功
# variable.sh 
echo '脚本名:'$0
echo '参数的个数:'$#
echo '当前进程的PID:'$$
echo '上一个命令的返回值:'$?# 命令行输入
linux@linux:~/Templates$ ./variable.sh aaa bbb
脚本名:./variable.sh
参数的个数:2
当前进程的PID:3436
上一个命令的返回值:0

4、环境变量(一次性全局变量)

环境变量在父Shell中可以被使用,在子Shell中也可以被使用(子Shell会拷贝父Shell的环境)。需要注意的是,环境变量仅仅只是本次登录有效,重启以后,环境变量会消失。

  • 语法格式:export  变量名=value
  • 引用环境变量:$变量名 或者 ${变量名}

下面来测试一下环境变量是否在任何地方都可以被使用,首先在家目录下添加一个环境变量

linux@linux:~$ export NAME='gzx'

然后换一个目录,在命令行打印环境变量

linux@linux:~/Templates$ echo $NAME
gzx

修改 之前的.sh脚本来打印环境变量

# variable.sh 
echo $NAME# 命令行输入
linux@linux:~/Templates$ ./variable.sh 
gzx

5、永久全局变量(重启以后依然存在的变量)

Linux环境下的变量类型大致有三种,分别是本地变量、全局变量以及用户自定义的变量

  • 本地变量:只有当前用户可以使用的变量,保存在家目录下的 .bash_profile、.bashrc 文件中
  • 全局变量:所有用户都可以使用的变量,保存在 /etc/profile、/etc/bashrc 文件中

当变量直接写入本地变量文件或者全局变量文件的时候,此时即便是重启虚拟机,这个变量也会一直存在。下面介绍一下本地变量和全局变量的写入方式

(1) 本地变量文件

向 家目录下的 .bashrc 中写入一个变量NAME

# .bashrc 文件
NAME='gzx'

(2) 全局变量文件

向 /etc/profile 文件中写入一个变量NAME

# .bashrc 文件
export NAME='gzx'

相关内容

热门资讯

​建筑行业异地预缴税款怎么申报 建筑行业异地预缴税款怎么申报1.从【企业业务】“特定主体”入口登录电子税务局。2.进入【我要办税】-...
家装商业计划书 装修公司项目计... 装饰公司计划书创业计划书怎么做创业计划书案例室内设计装修公司创业计划书装修公司项目计划书装饰公司创业...
精益创业需要精益商业计划书 中... 创新创业收获中国十大创业人轻创业模式对精益创业的理解精益创业为什么会流行精益创业的核心词汇精益创业电...
城镇小本创业的好项目有哪些 城... 小城镇创业项目创业小项目适合创业的小项目创业小项目推荐城镇适合创业的小生意城镇创业做什么生意好乡镇小...
适合小本创业的有哪些项目? 适... 小城镇创业项目创业小项目适合创业的小项目创业小项目推荐城镇适合创业的小生意城镇创业做什么生意好乡镇小...
创业资金 创业资金 创业资金筹... 怎么学互联网怎么赚钱我想创业但是没钱创业融资的渠道有哪些?一个人0资金怎么创业创新创业项目点子最挣钱...
创业之初如何获得创业资金? 创... 怎么学互联网怎么赚钱我想创业但是没钱创业融资的渠道有哪些?一个人0资金怎么创业创新创业项目点子最挣钱...
女性小企业的优势是什么?推荐三... 独立创业指南创业指南上28商机网创业指南行业分析女性我相信越来越多的人开始创业。当然,越来越多的人通...
中国创业商机网 中国创业商机网 创业好商机78商机网创业十万以内的稳定的生意个人创业网新型创业商机不愁销路的小工厂项目2021年项目...
深圳证券交易所创业板市场投资者... 创业板如何开通创业板股票一览表创业板首次公开发行的程序并购重组管理办法创业板重大资产重组管理办法创业...