haoman 发表于 2019-2-17 11:31:21

linux之bash变量

  linux中的变量创建规则:

  变量与变量内容之间是=号,且=号两边无空格
  变量名称只能是英文字母与数字,开头不能是数字
  变量内容有空格,需要使用双引号和单引号将内容结合起来,如name=“zhang san”

  双引号内的特殊字符有特殊意思,如var=“lang is $LANG”
  单引号内的特殊字符无任何意思,原输出var1='lang is $LANG'
  可使用转义字符\将特殊字符转为一般字符
  若变量的值是一个命令的结果,需要使用`命令`(反引号),或者使用$(命令)

  若变量的值扩充时,使用"$变量名"或${变量名}
  在编写shell脚本时,需要使用export 将变量变为环境变量

  取消变量使用unset

  取变量的值使用echo $变量
  实例:
# name="zhang san"      #创建变量并赋值
# 1name='lisi'            #不可以创建数字开头的变量名
-bash: 1name=lisi: command not found
# var="lang is $LANG"      #双引号中的$取变量的值
# echo $var
lang is en
# var1='lang is $LANG'      #单引号中的$原样输出
# echo $var1
lang is $LANG
# version=$(uname -r)      #变量值是命令的结果,使用$()
You have mail in /var/spool/mail/root
# echo $version
2.6.32-431.el6.x86_64
# version=`uname -r`            #变量值是命令的结果,使用``
# echo $version
2.6.32-431.el6.x86_64
# name=zhang\'sname            #\转义
#
# cd /lib/modules/`uname -r`/kernel#使用`uname -r`
# pwd
/lib/modules/2.6.32-431.el6.x86_64/kernel
#  环境变量:

  环境变量的作用:家目录的变化,提示字符的显示,执行文件搜寻的路径,邮箱的替换等
  环境变量的显示:env和export
# env
HOSTNAME=www
TERM=xterm
SHELL=/bin/bash
HISTSIZE=1000
…………
# export
declare -x CLASS_PATH=".:/usr/local/cine/java/jdk1.8.0_161/lib/dt.jar:/usr/local/cine/java/jdk1.8.0_161/lib/tools.jar:/usr/local/cine/java/jdk1.8.0_161/jre/lib"
…………  使用set可查看自定义变量和环境变量
  介绍几个特殊变量:

# echo $$   #    $表示当前shell的PID
30150
# echo $?   #    $?表示上一个命令的返回值,0表示正确。其他错误。重要!!!
0
#  export命令将自定义的变量转为环境变量
  自定义变量和环境变量差别:是否可以被子程序继续引用;




页: [1]
查看完整版本: linux之bash变量