shell变量
- 变量定义
- 变量使用
示例 1:#! /bin/bash var=aaa echo ${var}
执行结果:
$ ./demo.sh$ aaa
示例 2:
#! /bin/bash var=aaa bbb ccc echo ${var}
执行结果:
$ ./demo.sh./demo.sh: line 3: bbb: command not found
示例 3:
#! /bin/bash var="aaa bbb ccc"echo ${var}
执行结果:
$ ./demo.shaaa bbb ccc
- 变量删除
unset <var_name>
- 变量只读
readonly <var_name>
通过 readonly 表明只读变量,对只读变量的修改会报错(不能被删除)。
字符串
- 单引号
单引号字符串中的变量是无效的;单引号中不能出现单一的单引号;
- 双引号
双引号中可以有变量; 双引号里可以出先转义字符;双引号中的单引号输出时维持单引号不变示例 1:
#! /bin/bash var="aaa bbb ccc"echo ${var}
执行结果:
$ ./demo.shaaa bbb ccc #变量中的换行被忽略,且只有一个空格
当字符串当成变量展开时,字符串中的多个空格或换行在展开时会只剩一个(方便for循环时候做处理)。
示例 2:
#! /bin/bash var="aaa bbb ccc"echo "${var}"
执行结果:
$ ./demo.shaaa bbbb ccc
当字符串当成字符串被展开时,字符串保持原样不变。
- 获取字符串长度
string="abcdefg"echo ${#string}
- 提取字符串
string="abcdefg" #0123456echo ${string:1:4} #输出 bcde
- 查找字符串
string="abcdef" echo `expr index "$string" ef` #输出5,因为 e 是第五个出现的
shell 数组
- 数组定义
array_name=(value0 value1 value2 value3)
array_name=( value0 value1 value2 value3 )
array_name[0]=value0 array_name[1]=value1 array_name[n]=valuen
- 读取数组
${数组名[下标]}
- 获取数组的长度
# 取得数组元素的个数 length=${#array_name[@]} length=${#array_name[*]} # 取得数组单个元素的长度 lengthn=${#array_name[n]}
原文地址:https://www.cnblogs.com/rivsidn/p/11026451.html
时间: 2024-10-04 11:17:20