shell变量作用域
Shell变量的作用域可以分为三种:
局部变量
:只能在函数内部使用,需要使用local修饰!全局变量
:可在当前的shell进程中使用,需要注意当前shell脚本和当前shell进程是不一样的环境变量
:可以在子进程中使用
局部变量
#!/bin/bash
function func(){
a=99; #不加local,这个变量仍然是全局的
}
func
echo ${a}
全局变量
每个shell进程都有单独的PID号,一个shell进程可以运行多个脚本,那么前一个脚本定义的全局变量,可以在后面的脚本中被使用!
#!/bin/bash
a="holo"
echo ${b} [[输出空]]
. test2.sh
#!/bin/bash
b="test2"
echo ${a} [[输出holo]]
环境变量
父进程:export一些变量,只有子进程能够获取到!
...