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 ...