shell变量

shell变量的作用:用来做存放系统和用户需要使用的特定参数(值)

怎么定义一个shell脚本内部的变量:

定义变量的基本格式:变量名=变量值

注意

变量名只能以字母或者下划线开头,

等号两边没有空格,

变量名区分大小写,

变量名不能有特殊字符,

变量名不能以数字开头,

在变量面前添加前导符号$,可以引用一个变量的值。

$变量名:表示赋予变量的值。

例如:#export name=hzf ------------>定义一个变量,

          #echo $name --------->将变量name的值输出到屏幕   

          hzf----------------------->输出的值

使用echo命令可以查看变量,可以在一条echo命令中同时查看多个变量值。

如果在已经赋过值的变量上再赋一次值,原先的值将会被覆盖,系统只会记录最近一次的赋值操作。

如果想在我们赋予的值中包含特殊符号,那么就需要引号把值包含在内(单双引号都可)。

例如:         

              #name=“h z f“

          #echo $name

          h z f

如果我们想在输出的变量后面同时输出其他内容,需要将我们定义的变量用大括号括起来,否则系统将认为他是一个新的变量名。

例如:

              #name=hzf

          #echo $name123

          显示空值

          #echo ${name}123

          #hzf123

 我们定义一个变量时,该变量只在当前bash环境中生效,如果我们再开一个子环境,变量名就会失效      

eport变量名,将变量变为全局变量,系统重启才失效。

unset变量名,就是取消改变变量名的赋值,取消之后变为空值。

如果我们建立三个子bash,然后将name赋值为hzf,并定义为全局变量,然后再建立两个子bash,然后输出值为hzf,是因为在之前在前面的子bash环境中定义了全局变量,所以输出hzf,当我们将子bash多次退出后,发现name值为空,这是因为我们之前实在第四个bash中定义的全局变量,现在我们推出了四次,应该位于第二bash中,也就是说我们定义的全局变量bash环境已经被我们退出了,所以全局变量也就失效了。等于我们将定义了全局变量的子bash干掉了,现在位于被干掉的子bash的父进程中,所以在子进程中定义的所有的一切都不再生效。

如果shell我们想将一个变量让他不管怎样都能生效需要把他写入/etc/profile文件中。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值