一、数组
1、数组定义
2、数组定义
3、打印数组元素内容
4、以清单形式打印出数组的所有值
5、打印数组长度(即数组中元素的个数)
6、关联数组
7、列出数组索引
二、别名
1、 创建别名
2、 永久别名
3、删除别名
4、实例演示
5、对别名进行转义
一、数组
1、数组定义
数组是shell脚本非常重要的组成部分,它借助于索引将多个独立的数据存储为一个集合。普通数组只能使用整数作为数组索引。Bash也支持关联数组。它可以使用字符串作为数组索引。
2、数组定义
array_var=(1 2 3 4 5 6)
#这些值将会存储在以0为起始索引的连续位置上。
另外,还可以将数组定义成一组 “索引-值” 像java数组一样可以整体初始化并赋值,也可以单项初始化赋值。
array_var[0]="test1"
array_var[1]="test2"
array_var[2]="test3";
array_var[3]="test4";
array_var[5]="test5"
3、打印数组元素内容
echo ${array_var[0]}
index=1
echo ${arrary_var[$index]}
4、以清单形式打印出数组的所有值
echo ${array_var[*]}
5、打印数组长度(即数组中元素的个数)
echo ${#array_var[*]}
6、关联数组
在关联数组中,我们可以使用任意的文本作为数组索引(相当于map)
首先,需要使用声明语句将一个变量名声明为关联数组。
declare -A ass_array
声明之后,可以用两种方法将元素添加到关联数组中
(1) 利用内嵌“索引-值”列表的方法,提供一个“索引-值”列表
ass_arry=([index]=val1[index2]=val2)
(2) 使用独立的“索引-值”进行赋值
ass_array[index1]=val1
ass=array[index2]=va12
实例
declare -A fruits_value
fruits_value =([apple]='100 dollars' [orange]='150 dollars')
echo "Apple costs${fruits_value[apple]}" #显示数组内容
7、列出数组索引
每一个数组元素都有一个索引用于查找。普通数组和关联数组具有不同的索引类型。我们可以用一下方法
获取数组的索引列表
echo ${!array_var[*]}
也可以使用
echo !${!array_var[@]}
二、别名
别名就是一种便捷方式,以省去用户输入一长串命令序列的麻烦。
1、 创建别名
alias new_cmd ='command sequence'
#为安装命令apt-get install 创建别名
alias install=‘sudo apt-get install’
这样一来就可以用install pidgin 代替 sudo apt-get install pidgin 了
2、 永久别名
alias 命令的作用只是暂时的。一旦关闭当前终端,所有设置的别名就失效了,为了是别名设置一直保持作用。可以将它放入/.bashrc文件中。因为每当一个新的shell进程生成时,都会执行/.bashrc中的命令。
echo ‘alias cmd=“command seq”’ >>~/.bashrc
3、删除别名
如果需要删除别名,只用将其对应的语句从~/.bashrc中删除或者使用unalias命令 或者使用alias example=,这会取消example的别名
4、实例演示
演示了个删除 命令 alias rm=‘rm -rf $@’
这里需要注意 如果已经有同名的别名存在,那么原有的别名设置会被覆盖。
可以看到a1已经被删除
5、对别名进行转义
alias 命令能够为任何重要的命令创建别名,不过你未必总是希望用别名来执行这个命令。我们可以将希望使用的命令进行转义,从而忽略当前定义的别名。
\command
字符\对命令实施转义,使我们可以执行原本的命令,而不是这些命令的别名替身。
相当于忽略别名