首页 > 代码库 > shell编程之变量

shell编程之变量

变量:

变量由字母、数字、_ 组成,不能以数字开头

长度不能超过255个字符

在bash中,变量的默认类型是字符串类型

变量分类:

1、用户自定义变量:只在当前shell生效,是局部变量

定义方法:  变量名=变量值  #等号两边没有空格

调用方法:  $变量名

变量查看:  set命令查看所有变量  选项:  -u #如果设定此选项,调用未声明变量是时会报错(默认无提示)

删除变量:  unset 变量名

变量叠加:  x=${x}test 或 x="$x"test

2、环境变量:这种变量中主要保存和系统操作环境相关的数据。变量可以自定义,但是对系统生效的环境变量名和变量作用是固定的,在当前shell和子shell中生效,是全局变量

定义方法:  环境变量名建议大写

       export 变量名=变量值

     或 变量名=变量值 ; export 变量名

查看方法:  env查看环境变量

删除:    只能在创建变量的shell中删除

常用环境变量:

HOSTNAME  主机名

SHELL  当前shell

TERM  终端环境

HISTSIZE  历史命令条数

SSH_CLIENT  记录ssh客户端ip

SSH_TTY  ssh连接的终端

USER  当前登陆用户

PATH  系统搜索命令的路径

3、位置参数变量:预定义变量的一种,主要是用来向脚本当中传递参数或数据的(实际上常用read命令来代替,后文有提),变量名不能自定义,变量作用固定

技术分享

$n写在脚本中,作用是把数据传入脚本,如:/root/calcu.sh 32 13  ,其中$0就代表/root/calcu.sh,32就代表$1,13就代表$2

4、预定义变量:是Bash中已经定义好的变量,变量名不能自定义,变量作用也是固定的

技术分享

$$最近进程的进程号

 

接收键盘输入

  • read 【选项】【变量名】      #多用于脚本中接收用户输入

选项:

  -p "提示信息"  #在等待read输入时,输出此提示信息

  -t 秒数  #read命令会一直等待用户输入,此选项可以指定等待时间

  -n 字符数  #read命令只接收指定的字符数,收到后自动执行

  -s  #隐藏输入的数据,适用于机密数据的输入

shell编程之变量