shell脚本中变量及函数基础知识

1.变量的定义

1)定义本身
变量就是内存当中一片区域的地址
举例来说:
现在有一个程序hostname,执行hostname命令后,产生的结果不是在硬盘里面,而是在内存当中的字符设备里
在这里插入图片描述
现在将hostname程序赋到a上,那就是把hostname程序执行的结果(node1.westos.com)所存放的那片地址区域的路径指定为a了,当调用a时,系统就会自动地去寻找a所代表的那片地址区域,它就把那片地址区域里的信息显示出来

$字符串 ##表示这个字符串所在地址区域里面的内容是什么

在这里插入图片描述
2)变量存在的意义
命令无法操作一直变化的目标
用一串固定的字符来表示不固定的目标(信息)可以解决此问题

2.shell脚本中变量的定义方式

1)环境级别
export a=1(export作用:共享,自定义变量转成环境变量)
特点:在环境关闭后变量失效
因为它使用到的环境所使用的真实物理资源被系统回收了
什么叫作环境级别?
如果这个shell环境退出、关闭了,它在这个内存当中的信息都会被系统所回收,当再重新开启一个新的shell时,这个shell和刚才的shell不是同一个,再去执行/mnt/test.sh时,得到的结果是空的,它刚才所持有的a变量值已经被系统回收掉,即它所占用的那片空间被释放了
注意:
变量在环境里边设定完毕之后是无法保存的(变量的生命周期)
在这里插入图片描述
在这里插入图片描述
2)用户级别
vim ~/.bash_profile
export a=1

/etc/skel/.*	##用户的骨文件,用户的配置文件
.bash_profile	##shell所用环境信息的配置
.bashrc			##shell本身工作运行环境的配置

在student用户下,编辑 .bash_profile文件,写入export a=1环境变量;
更改完后,这个文件默认是不生效的,需要source此文件来让它生效
执行/mnt/tets.sh时显示变量信息1
退出student用户后,在其他用户下执行/mnt/tets.sh时,显示为空
因为环境变量记录在student用户所用到的子shell环境信息配置文件(.bash_profile)中,只有这个用户在登录时,他才会去加载自己家目录这个配置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值