shell的陣列操作

2022-09-01 00:45:13 字數 1492 閱讀 6205

shell中陣列的下標預設是從0開始的

1。將字串存放在陣列中,獲取其長度

#!/bin/bash

str="a b --n d"

array=($str)

length=$

echo $length

for ((i=0; i<$length; i++))

doecho

$done

along@along-laptop:~/code/shell/shell/mycat/testfile$ ./test.sh4a

b--n

d2。字串用其他字元分隔時

#!/bin/bash

str2="a#b#c"

a=($(echo $str2 | tr '#' ' ' | tr -s ' '))

length=$

for ((i=0; i<$length; i++))

doecho

$done

#echo $

along@along-laptop:~/code/shell/shell/mycat/testfile$ ./test.shab

c3。陣列的其他操作

#!/bin/bash

str="a b --n dd"

array=($str)

length=$

#直接輸出的是陣列的第乙個元素

echo $array

#用下標的方式訪問陣列元素

echo $

#輸出這個陣列

echo $

#輸出陣列中下標為3的元素的長度

echo $

#輸出陣列中下標 為1到3的元素

echo $

#輸出陣列中下標大於2的元素

echo $

#輸出陣列中下標小於2的元素

echo $

along@along-laptop:~/code/shell/shell/mycat/testfile$ ./test.shab

a b --n dd

2b --n dd

--n dd

a b4。 遍歷訪問乙個字串(預設是以空格分開的,當字串是由其他字元分隔時可以參考 2)

#!/bin/bash

str="a --m"

for i in $str

doecho

$idone

along@along-laptop:~/code/shell/shell/mycat/testfile$ ./para_test.sh

a--m

5。如何用echo輸出乙個 字串str="-n"。由於-n是echo的乙個引數,所以一般的方法echo "$str"是無法輸出的。

解決方法可以有:

echo x$str | sed 's/^x//'

echo -ne "$str\n"

echo -e "$str\n\c"

printf "%s\n" $str 

(這樣也可以)

shell陣列操作

一 陣列定義 使用declare a 命令定義陣列 陣列的索引是從0開始計數的 接下來就可以通過操作符為不同索引位置的元素賦值。declare a names names 0 tom names 1 jack在定義陣列的同時,可以同時賦值,用 表示,各元素之間用空格隔開 定義的同時直接賦值 decl...

shell中陣列的操作

在寫shell指令碼時,有時也希望像c語言那樣去使用陣列,bash是支援一維陣列的。本文主要介紹在shell指令碼中關於陣列的應用,包括陣列的定義 讀取 替換 刪除和複製。類似與c語言,陣列元素的下標由0開始編號。獲取陣列中的元素要利用下標,下標可以是整數或算術表示式,其值應大於或等於0。在shel...

Shell中陣列的操作

看一下shell中陣列的幾種操作 定義 遍歷 修改 刪除 引數傳遞操作 shell中對於陣列的定義直接使用 元素之間使用空格隔開即可 array 1 2 3 4 5 array abc def gh 取得陣列的值 取出所有的數值以及取出某個位置上的數值 echo echo echo array 0 ...