shell编程-02-变量作用域

作用域

局部变量:变量只能在函数内部使用
全局变量:变量可以在当前 Shell 进程中使用
环境变量:变量还可以在子进程中使用

局部变量

函数中定义的变量默认是全局变量,在定义时加上local命令,此时该变量就成了局部变量

#!/bin/bash
b=0
a=0
function func(){
       a=99
       local b=100
}
func
echo $a,$b

在这里插入图片描述

全局变量

脚本执行

  1. 作为程序执行,需要修改权限(给脚本添加执行权限)
    通过这种方式运行脚本,脚本文件第一行的#!/bin/bash一定要写对
    执行方式:
    脚本名:如 ./02.sh
    2.当前进程中运行 Shell 脚本
    source 命令: 它会读取脚本文件中的代码,并依次强制执行所有语句
    执行方式
    source filename
    . filename
#!/bin/bash
echo $a
b=0
a=0
function func(){
        a=99
        local b=100
}
func
echo $a,$b

在这里插入图片描述

环境变量

全局变量只在当前 Shell 进程中有效,对其它 Shell 进程和子进程都无效。如果使用export命令将全局变量导出,那么它就在所有的子进程中也有效了,这称为“环境变量”。
环境变量被创建时所处的 Shell 进程称为父进程,如果在父进程中再创建一个新的进程来执行 Shell 命令,那么这个新的进程被称作 Shell 子进程。

创建 Shell 子进程最简单的方式是运行 bash 命令,通过exit命令可以一层一层地退出 Shell

a="hello"
echo $a
bash
echo $a
exit
echo $a

在这里插入图片描述
在这里插入图片描述

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>