本站所有文章均为原创,如对您有帮助,恳请帮忙点击任何一处广告
  • 首页
  • Shell
  • 【Linux Shell脚本编程】变量定义与使用

【Linux Shell脚本编程】变量定义与使用

发布:TangLu2015-4-10 14:03分类: Shell 标签: 变量 bash shell

Shell脚本是运维工作中必不可少的工具,使用它可以实现快速部署应用、定时执行任务等功能。在目前主流Linux发行版中bash是默认Shell(除bash外还有sh、ksh等仅供了解)。bash是一种弱类型编程语言,其变量在定义时无需声明类型,默认为字符串类型,下面来看看bash的一些基础知识。


一、变量类型与定义方法
Shell变量可以由字母、数字和下划线组成,但是不能用数字开头,不能和已有变量重名,最好做到见名知意。其变量类型分为全局环境变量、本地局部变量、位置变量、特殊内置变量。
1、全局(环境)变量是对当前shell及子shell均生效的变量。系统在开机时加载/etc/profile文件也会读取默认的环境变量,将自定义的环境变量写在该文件中可以实现让所有用户都加载该环境变量。环境变量定义方法:
export var1=test1  #方法1
#方法2
var2=test2
export var2

2、局部变量是仅对当前shell生效、子shell无效的变量。一般写在函数中,调用函数时生效,在函数外引用没有效果
website=linuxe.cn

3、位置变量:常用于脚本参数传递,如"$1"代表执行脚本时第一个参数,$1,$2...${10}
4、特殊变量:系统用于保存一些特殊数据:
$0:返回当前脚本名
$*:返回执行脚本时所有的参数
$@:返回执行脚本时所有的参数
$#:返回执行脚本时所有参数的个数,可用于判断用户是否加参数
$$:当前进程的PID
$!:上一个进程的PID
$?:上一个命令的返回值,0代表执行正确,1-255都是代表有错误


二、变量的使用
用${varname}的方式可以引用变量的值,花括号虽然可以省略,但是为了避免变量名称混淆最好加上花括号或者双引号,尤其当变量内容是字符串时最好加双引号避免莫名其妙的错误
echo ${var1}
echo "$var1"

三、修改变量的值
VARNAME=$VARNAME:new
echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
PATH=$PATH:/root    #给PATH变量增加一个目录
echo $PATH    #输出可以看到已经多了/root目录      
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/root


四、删除变量
unset  VARNAME,撤销变量时不用加$符号
unset name    #取消变量
echo $name    #打印测试为空


五、查看变量

执行set命令查看当前shell中所有变量(环境变量和本地变量)

执行env或者export命令查看当前shell中的环境变量
温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,谢谢合作!
et_highlighter51
版权所有:《Linux运维技术学习站点
文章标题:《【Linux Shell脚本编程】变量定义与使用
除非注明,文章均为 《Linux运维技术学习站点》 原创
转载请注明本文短网址:http://www.linuxe.cn/post-198.html  [生成短网址]

已有 0/2218 人参与

发表评论:

欢迎分享Linux运维技术学习站点

欢迎使用手机扫描访问本站,还可以关注微信哦~