`

shell数组

阅读更多

shell数组

Bash中还可以使用数组变量,其赋值有两种:

(1) name = (value1 ... valuen) 此时下标从0开始
(2) name[index] = value

数组下标的范围没有任何限制,同时也不必使用连续的分量.


$ A=(a b c def)

==================================================
$ echo ${A[@]} //取全部元素
a b c def

=================================================

$ echo ${A[0]} //取第一个元素
a

=================================================

//取得数组元素的个数
$ echo ${#A[@]}
4
$ echo ${#A[*]}
4
$ echo ${#A[3]} //取得元素3的长度
$

==================================================

$ A[3]=yaoshuyin //将第三个元素重新赋值
$ echo ${A[@]}
a b c yaoshuyin

==================================================
//清除变量
$ unset A
$ echo ${A[@]}
$

==================================================

//清空变量,即将值变为空
$ A=
$ echo ${A[@]}
$
==================================================

A=B
B=C
unset $A 事实上所取消的变量是 B 而不是 A


=======================示例 while循环========================

#建立数组
arrSource=("arrJobs.php" "arrSubHangye.php" "arrFirst.php" )

arrDest=("buildhr" \
"buildtrain/htdocs" \
"bankhr" \
"healthr" \
"elehr" \
)

#取数组无元素个数
lenArrSource=${#arrSource[*]}
lenArrDest=${#arrDest[*]}


#循环列出数组元素
i=0
while [ $i -lt $lenArrSource ]
do
echo ${arrSource[$i]}
let i++
done


i=0
while [ $i -lt $lenArrDest ]
do
echo ${arrDest[$i]}
let i++
done


=======================示例: for循环===============================

#源文件
arrSource=("/home/800hr/htdocs/login_jump.php")

#目标网站
arrDest=(ithr elehr buildhr bankhr healthr ctvhr chenhr mechr clothr cneduhr 56hr tourhr foodhr greenhr cnlawhr waimaohr)

for outer in ${arrSource[*]} #${arrSource[*]} 是数组中的所有元素
do
for inner in ${arrDest[*]}
do
echo "ln -s $outer /home/${inner}/campus/"
done
done

分享到:
评论

相关推荐

    Linux shell数组循环的实例详解

    shell数组循环 测试shell数组,循环的例子: arr=(a b c) echo 所有的内容如下:${arr[@]} echo 数组的长度:${#arr[*]} for var in ${arr[@]} do echo 打印的内容:$var done 输出的内容如下: 以上...

    Linux Shell 数组的创建及使用技巧

    本篇文章将深入探讨Linux Shell数组的创建、读取、赋值以及一些特殊的使用技巧。 1. **数组定义**: 在Shell中,数组的定义非常直观。例如,创建一个包含1到5的数组可以这样写: ``` a=(1 2 3 4 5) ``` 这里的...

    Shell 数组

    Shell 数组 数组中可以存放多个值。Bash Shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小(与 PHP 类似)。 与大部分编程语言类似,数组元素的下标由0开始。 Shell 数组用括号来表示,元素用”...

    Shell 数组与关联数组详解及实例代码

    Shell 数组与关联数组 1.数组 1.1. 数组定义 一对圆括号表示数组,数组元素之间用空格符号分割 xiaosi@Qunar:~$ a=(1 2 3) xiaosi@Qunar:~$ echo $a 1 xiaosi@Qunar:~$ a=(yoona lucy tom) xiaosi@Qunar:~$ echo $a...

    ksh 基础知识 shell简介 变量数组 控制结构 函数 调试

    **Shell数组** Shell也支持数组变量,可以存储多个值。例如: ```bash my_array=(apple orange banana) ``` 访问数组元素: ```bash echo ${my_array[0]} # 输出 apple ``` 增加数组元素: ```bash my_array+=(...

    linux shell数组深入学习理解

    Linux Shell数组是Linux系统中处理一组相关数据的重要工具,它允许你存储多个值在一个单一的变量名下。本文将深入探讨Linux Shell数组的使用方法,包括声明、赋值、访问和遍历数组,以及如何在实际场景中应用数组,...

    浅谈shell数组的定义及循环

    首先,让我们来看看如何定义Shell数组。Shell支持两种主要的数组定义方式: 1. **方式一:数组定义为空格分割** 在这种方式中,你可以直接用空格分隔各个元素来定义数组。例如: ```bash arrayWen=(a b c d e f)...

    通过实例深入理解linux shell数组

    本文为大家介绍linxu shell中数组的相关知识,并举了很多例子供参考,包括数组的复制,计算,删除,替换等,是学习shell 数组的不可多得的好文章。 数组的声明: 1)array[key]=value # array[0]=one,array[1]=two2)...

    shell数组常用实例分享

    说明:shell中数组的下标默认是从0开始的 1、将字符串放在数组中,获取其长度 代码如下:#!/bin/bashstr=”a b –n d”array=($str)length=${#array[@]}echo $length for ((i=0; i<$length; i++))doecho ${array...

    Linux shell数组与关联数组的用法实例

    在Linux Shell脚本编程中,数组是一种非常重要的数据结构,它允许我们存储一组相关的值。本篇将详细讲解Linux Shell中的两种数组类型:序列数组和关联...希望这些实例和解释能帮助你更好地理解和运用Linux Shell数组。

    Linux shell数组建立和使用技巧

    linux shell在编程方面比windows 批处理强大太多,无论是在循环、运算。已经数据类型方面都是不能比较的。 下面是个人在使用时候,对它在数组方面一些操作进行的总结。  1.数组定义  [chengmo@centos5 ~]$ a=(1 ...

    Linux Shell 数组建立及使用技巧

    以下是对Linux Shell数组建立及使用技巧的详细说明: 1. **数组定义**: 在Shell中,数组的定义简单直观。例如,我们可以这样创建一个包含1到5的数组: ``` a=(1 2 3 4 5) ``` 这里,一对括号定义了一个数组`a...

    shell数组操作简明总结

    本文就shell数组来做一个小的总结。在这里只讨论一维数组的情况,关于多维数组(事实上,你得用一维数组的方法来模拟),不涉及。这里包括数组的复制,计算,删除,替换。 1.数组的声明: 代码如下:1)array[key]=value ...

    linux shell实现求一个多维数组中的最大和最小值

    ### Linux Shell 实现多维数组的最大值与最小值 在 Linux 环境下,处理文本数据是一项常见的任务。Shell 脚本提供了一种强大的工具来操作文件内容,包括数组和其他复杂的数据结构。本文将详细介绍如何使用 Linux ...

    linux shell 中数组的定义和for循环遍历的方法

    平时写shell脚本也经常遍历数组,但是一下没答上来,被鄙视了。 所以平时学习还是好好总结吧,不能每次都问度娘谷爷。IT 知识体系较为庞大,细节的东西也太多,平时遇到问题应该的多总结记笔记。 linux 中定义一个...

Global site tag (gtag.js) - Google Analytics