博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux下的Shell编程(2)环境变量和局部变量
阅读量:6406 次
发布时间:2019-06-23

本文共 1029 字,大约阅读时间需要 3 分钟。

Shell Script是一种弱类型语言,使用变量的时候无需首先声明其类型。

局部变量在本地数据区分配内存进行存储,这个变量归当前的Shell所有,任何子进 程都不能访问本地变量。这些变量与环境变量不同,环境变量被存储在另一内存区,叫做用户环境区,这块内存中的变量可以被子进程访问。变量赋值的方式是:

variable_name = variable_value

如果对一个已经有值的变量赋值,新值将取代旧值。取值的时候要在变量名前加$,$variable_name可以在引号中使用,这一点和其他高级语言是明显不同的如果出现混淆的情况,可以使用花括号来区分

例如:echo "Hi, $as",不会输出“Hi, hello worlds”,而是输出“Hi,”。这是因为Shell把$as当成一个变量,而$as未被赋值,其值为空。正确的方法是:echo "Hi, ${a}s"

单引号中的变量不会进行变量替换操作。

 

变量无需事先声明,需要给变量赋值时,可以这么写: varname=值 [var2=val2 ....]

请注意这边等号左右不能有空格。 要取用一个变量的值,只需在变量名前面加一个 $: # assign a="hello world"  # 等号两边均不能有空格存在 # print printf '%s\n' "A is: $a"

其输出结果如下: A is: hello world

有时候变量名可能会和其它文字混淆,比如: num=2 echo "this is the $numnd"   # 输出 this is the       — shell 尝试寻找 $numnd 的值 echo "this is the ${num}nd" # 输出 this is the 2nd   — 修好了!

# 花括号可以隔开变量名,但是放歪了的话… echo "this is the {$num}nd" # 输出 this is the {2}nd — 切是切开了,但是…

 

var=1

var=$(expr "$var" + 1) # expr 收到三个参数 '1' '+' '1',

 

关于变量,还需要知道几个与其相关的Linux命令。

env用于显示用户环境区中的变量及其取值;

set用于显示本地数据区和用户环境区中的变量及其取值;

unset用于删除指定变量当前的取值,该值将被指定为NULL;

export命令用于将本地数据区中的变量转移到用户环境区。

 

转载地址:http://fxtea.baihongyu.com/

你可能感兴趣的文章
网站管理后台模板 Charisma
查看>>
EL:empty的用法
查看>>
Saltstack配置之 nodegroups
查看>>
Servlet和JSP优化经验总结
查看>>
squid使用rotate轮询(分割)日志
查看>>
VS2015安装EF Power Tools
查看>>
MySQL主从复制(笔记)
查看>>
keepalived高可用集群的简单配置
查看>>
Android Java Framework显示Toast(无Activity和Service)
查看>>
通过 SignalR 类库,实现 ASP.NET MVC 的实时通信
查看>>
NavigationController修改状态条颜色
查看>>
16大跨平台游戏引擎
查看>>
NPS如何配置基于mac地址的8021x认证
查看>>
XenServer架构之XAPI的调用流程
查看>>
redhat下搭建LAMP架构
查看>>
GitHub详细教程
查看>>
raid技术的读与想
查看>>
Hbase 中Column Family 的作用
查看>>
用鸡讲解技术债务的形成过程?
查看>>
Linux下的Tftp服务
查看>>