shell的变量分类型
在Shell脚本中,变量可以分为两种类型:局部变量和环境变量,局部变量是在脚本内部定义的变量,仅在脚本运行期间有效;而环境变量是系统全局范围内的变量,可以在脚本运行前后以及脚本之间共享。
1、局部变量
局部变量是在脚本内部定义的变量,通常使用local
关键字声明,局部变量的作用范围仅限于当前函数或脚本块,不会影响其他函数或脚本块中的变量,局部变量的生命周期与函数或脚本块的执行周期相同。
!/bin/bash function test_variable() { local local_var="我是局部变量" echo "在test_variable函数内部,local_var的值为:$local_var" } test_variable echo "在test_variable函数外部,local_var的值为:$local_var" 这里会报错,因为local_var在函数外部未定义
2、环境变量
环境变量是在系统全局范围内定义的变量,通常以$
符号开头表示,环境变量可以在脚本运行前后以及脚本之间共享,方便进行配置和传递信息,环境变量的值可以通过命令行参数、文本文件等方式进行设置和修改。
!/bin/bash export VAR_NAME="我是环境变量" echo "在脚本内部,$VAR_NAME的值为:$VAR_NAME" unset VAR_NAME echo "在脚本内部,$VAR_NAME已经取消设置"
相关问题与解答
1、如何查看当前系统的环境变量?
答:env
命令可以查看当前系统的环境变量。
env
2、如何设置环境变量?
答:export
命令可以设置环境变量。
export MY_VARIABLE="我是新设置的环境变量" ``注意:这种方式设置的环境变量仅在当前终端会话有效,如果需要永久生效,可以将
export命令添加到
~/.bashrc(针对Bash shell)或
~/.zshrc`(针对Zsh shell)等配置文件中。 3、如何获取环境变量的值? 答:直接使用$
符号加上环境变量名即可获取其值。
echo $MY_VARIABLE
4、如何删除环境变量?
答:unset
命令可以删除环境变量。
unset MY_VARIABLE
``注意:这种方式删除的环境变量仅在当前终端会话有效,如果需要永久生效,可以将
unset`命令添加到配置文件中。
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/203345.html