shellスクリプト-文字列配列

12900 ワード

文字列
文字列は、一重引用符でも二重引用符でも引用符でも使用できます.一重引用符の違いはPHPと似ています.
一重引用符
str='this is a string'

一重引用符文字列の制限:
単一引用符の任意の文字はそのまま出力され、単一引用符文字列の変数は無効です.
一重引用符文字列には一重引用符は表示されません(一重引用符にエスケープ記号を使用してもだめです).
二重引用符
your_name='qinjx'
str="Hello, I know you are \"$your_name\"! 
"

二重引用符の利点:
二重引用符には変数があります.
二重引用符には、エスケープ文字が表示されます.
つづり文字列
your_name="qinjx"
greeting="hello, "$your_name" !"
greeting_1="hello, ${your_name} !"
echo $greeting $greeting_1

文字列の長さの取得
string="abcd"
echo ${#string} #   4

サブストリングの抽出
次の例では、文字列2文字目から4文字を切り取ります.
string="runoob is a great site"
echo ${string:1:4} #    unoo

サブストリングの検索
文字iまたはsの場所を検索します.
string="runoob is a great company"
echo `expr index "$string" is`  #    8

注意:以上のスクリプトの「`」は逆引用符で、単引用符「'」ではなく、見間違えないでください.
シェル配列
bashは1次元配列(多次元配列はサポートされていません)をサポートし、配列のサイズを限定しません.
C言語と同様に、配列要素の下付き文字は0から番号付けされます.配列内の要素を取得するには、下付き文字を使用します.下付き文字は整数または算術式で、0以上の値を指定します.
配列の定義
Shellでは配列を括弧で表し,配列要素は「スペース」記号で分割する.配列を定義する一般的な形式は、次のとおりです.
   =( 1  2 ...  n)

例:
array_name=(value0 value1 value2 value3)

または
array_name=(
value0
value1
value2
value3
)

配列の個々のコンポーネントを個別に定義することもできます.
array_name[0]=value0
array_name[1]=value1
array_name[n]=valuen

連続する下付き文字を使用しなくてもよく、下付き文字の範囲に制限はありません.
配列の読み込み
配列要素の値を読み込む一般的なフォーマットは、次のとおりです.
${   [  ]}

例:
valuen=${array_name[n]}

@記号を使用して、配列内のすべての要素を取得します.たとえば、次のようにします.
echo ${array_name[@]}

配列の長さの取得
配列の長さを取得する方法は、文字列の長さを取得する方法と同じです.たとえば、次のようにします.
#          
length=${#array_name[@]}
#   
length=${#array_name[*]}
#            
lengthn=${#array_name[n]}

参照リンク:http://www.runoob.com/linux/linux-shell-variable.html