shell 变量字符串数组
Posted rivsidn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell 变量字符串数组相关的知识,希望对你有一定的参考价值。
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.sh
aaa bbb ccc - 变量删除
unset <var_name>
- 变量只读
readonly <var_name>
通过 readonly 表明只读变量,对只读变量的修改会报错(不能被删除)。
字符串
- 单引号
单引号字符串中的变量是无效的;单引号中不能出现单一的单引号;
- 双引号
双引号中可以有变量; 双引号里可以出先转义字符;双引号中的单引号输出时维持单引号不变
示例 1:
#! /bin/bash var="aaa
bbb
ccc"
echo $var执行结果:
$ ./demo.sh
aaa bbb ccc #变量中的换行被忽略,且只有一个空格当字符串当成变量展开时,字符串中的多个空格或换行在展开时会只剩一个(方便for循环时候做处理)。
示例 2:
#! /bin/bash var="aaa
bbb
ccc"
echo "$var"执行结果:
$ ./demo.sh
aaa
bbbb ccc
- 获取字符串长度
string="abcdefg"
echo $#string - 提取字符串
string="abcdefg"
#0123456
echo $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]
以上是关于shell 变量字符串数组的主要内容,如果未能解决你的问题,请参考以下文章