Bash变量(一):自定义变量与环境变量

本文详细介绍了Bash环境下变量的设定规则及赋值方式,包括局部变量与环境变量的区别、定义、取消及引用方法。同时探讨了环境变量如何在子进程中被调用的原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

变量设定规则

用“=”来连接 #test=1
双引号内的特殊字符保留原本特性 test2=“$test1”1 #test2=11
单引号内的特殊字符只是一般字符est2='$test1'1 #test2='$test1'1
\可转义特殊字符
反引号``或$(command)可执行命令后调用
若变量需要在子进程运行,可加上export test
通常变量大写是系统默认变量,小写是自定义变量
取消变量unset  #unset test  

 

变量赋值方式

显式赋值

xiaoyaz@localhost:~$ test=1  

隐式赋值

xiaoyaz@localhost:~$ read test
#123
xiaoyaz@localhost:~$ read -p "变量值是:" test
#变量值是:123
xiaoyaz@localhost:~$ read -n 2 test #只能输入两个字符
#11

  

自定义变量(局部变量)

定义:

xiaoyaz@localhost:~$ test=1

取消:

xiaoyaz@localhost:~$ unset test

引用:

xiaoyaz@localhost:~$ $test
xiaoyaz@localhost:~$ ${test}

查看:

xiaoyaz@localhost:~$ echo $test #1
xiaoyaz@localhost:~$ echo ${test} #1
xiaoyaz@localhost:~$ bash #开一个子进程(bash)
xiaoyaz@localhost:~$ echo $test #

作用范围:此进程(bash),子进程(bash)不可调用,关闭后失效。

 

环境变量(全局变量)

定义:

xiaoyaz@localhost:~$ test=1;export test
xiaoyaz@localhost:~$ export test=1 

取消:

xiaoyaz@localhost:~$ unset test

引用:

xiaoyaz@localhost:~$ $test
xiaoyaz@localhost:~$ ${test}

查看:

xiaoyaz@localhost:~$ echo $test #1
xiaoyaz@localhost:~$ echo ${test} #1
xiaoyaz@localhost:~$ bash #开一个子进程(bash)
xiaoyaz@localhost:~$ echo $test #1
xiaoyaz@localhost:~$ echo ${test} #1

作用范围:此进程(bash),子进程(bash),关闭后失效。

 

为什么环境变量会让子进程调用?

开启一个bash,会分配一块内存存放环境变量,开启子bash会读取父内存中环境变量,并存放到自己的内存中。

 

Bash查看默认环境变量

xiaoyaz@localhost:~$ env #环境变量
xiaoyaz@localhost:~$ set #环境变量和自定义变量

转载于:https://www.cnblogs.com/xiaoyaz/p/10620552.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值