Shell变量 —— 变量的赋值与引用

  • Post author:
  • Post category:其他




Shell 变量的赋值与引用

  • 变量用于存储数据
  • 由字母、数字或下划线组成,并且只能以字母或下划线开头,大小写的意义是不同的
  • 弱类型的语言,变量存储的一切值都是字符串。到那时必要的时候,是要是由数值构成的字符串,也可以对其执行数值操作
  • 变量赋值的方式:

    变量名=变量值

” = ” 两边不能有任何空格

当变量值中包含空格时,应为其加上引号

  • Shell 变量不需要预先定义,而且可以引用未赋过值得变量
  • 引用变量:

    $变量名
$ str="Hello,world!"
$ echo $str
>>>Hello,world!



变量的赋值与引用

  • 在字符串中可以引用变量,使其值成为本字符串的一部分
$ str='world!'
$ echo Hello, $str
>>>Hello,world!

  • 在变量名后面紧跟一个由非空白字符开始的字符串时,应该用花括号 “ { } ” 将变量名括起来
$ position=/user/include/
$ cat ${position}termio.h


  • 清除变量的值: unset
$ str=has_a_value
$ echo $str
>>>has_a_value
$ unset str
$ echo $str


  • 得到变量的长度:${ #变量名 }
$ str="A 22 characters string"
$ echo length of $str is ${ #str }
>>>length of A 22 characters string is 22




命令替换

  • 将一个或多个命令的执行结果赋值给变量
  • 两种方式

    1. 反引号

    2. $(…)
#1.使用反引号
$ str='pwd;who'
$ echo $str

#2.使用 $(...)
$ position=$(pwd || who)
$ echo $position



变量属性声明

  • 使用内部命令 declare 或 typeset 限定变量的属性
  • 常用选项

    -r 只读

    -i 整数

    -a 数组

    -f 函数

    -x 导出变量

$ declare -r SIZE=100
$ SIZE=20
>>>-bash: SIZE: readonly variable


$ n=20
$ n=n+30
$ echo $n
>>>n+30
$ decalre -i n
$ n=20
$ n=n+30
$ echo $n
>>>50


后续内容可看 Shell 编程专栏的其他文章哦



版权声明:本文为Renard_H原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。