Linux脚本攻略学习笔记之数组和别名

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/whandgdh/article/details/84098734

一、数组

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
字符\对命令实施转义,使我们可以执行原本的命令,而不是这些命令的别名替身。
相当于忽略别名

猜你喜欢

转载自blog.csdn.net/whandgdh/article/details/84098734