shell变量作用范围

1、环境变量与自定义变量

        环境变量:一般系统已经定义好,对其进行调用或赋值即可;

        用户自定义变量:由用户自定义,一般为大写格式,会用到=或export

2、作用范围

对于bashrc中的不管是环境变量还是自定义变量(不管加不加export,加export的会是环境变量),都会在当前用户永久有效,之后所有的改动无论加不加export都范围仅在当前shell中,其子shell并不在范围内;

对于在命令行中进行操作(  即在shell中或source file命令的file中被定义或赋值)的变量(前提是没有在bashrc中定义或赋值),情况如下:

环境变量与自定义变量均适用:

①在当前shell中赋值不用export,那么该变量的范围是当前shell,对于子shell和其他shell及其子shell并不在范围内;

②在赋值时使用export命令,那么该变量的范围是当前shell以及子shell,其他shell及其子shell不在范围内;

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Shell脚本中,循环结构(如for循环和while循环)被用来重复执行相同或类似的命令或操作。循环中使用的变量是在循环内部定义的,它们的作用域仅限于该循环。 在for循环中,变量通常被用来迭代一个定长的列表或范围。在循环的每次迭代中,变量会被赋予列表中的下一个值,然后执行循环体中的命令。循环结束后,变量的值不再存在。 例如,以下是一个简单的for循环示例: ``` for fruit in apple banana orange do echo "I like $fruit." done ``` 在这个例子中,变量`fruit`被用来迭代列表中的水果名称。循环体中的`echo`命令会打印出相应的句子。每次循环时,`fruit`变量的值会依次是"apple"、"banana"和"orange"。当循环结束后,`fruit`变量不再存在。 类似地,在while循环中,变量通常用于判断循环是否应该继续执行。在循环的每次迭代中,条件被检查,如果为真,则执行循环体中的命令。如果在循环体内部改变变量的值,对其后续迭代没有影响。 例如,以下是一个简单的while循环示例: ``` count=0 while [ $count -lt 5 ] do echo "Count: $count" count=$((count + 1)) done ``` 在这个例子中,变量`count`被用于判断循环是否应该继续执行。只要`count`小于5,循环就会一直执行。在循环体中,首先打印出当前的`count`值,然后将其增加1。注意,`count=`的操作用于将`count`变量设置为0。 总之,Shell循环中的变量作用域仅限于循环本身,循环结束后变量的值不再存在。这使得我们可以方便地在循环中使用变量来迭代列表、判断循环条件等操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值