linux循环按行读,Shell 数组、循环和按行读

Example:

#/bin/bash

i=0

while read LINE;

do

A[$i]=$LINE

let i++

# echo $LINE >> ./test.txt

done < dlzip.csv

echo $i

echo ${A[0]}

echo ${A[1]}

#echo ${A[2]}

#echo ${A[*]}

j=0

while [ $j -lt 3 ]

do

echo ${A[$j]}

let j++

done

while [ $j -lt 5

]

do

echo ${A[$j]}

let j++

done

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值