‘という名前のbashファイルを作成します for_list1.sh ’を入力し、次のスクリプトを追加します。スペースを含む文字列値がforループ内で使用されます。デフォルトでは、文字列値はスペースで区切られます。 forループは文字列を単語に分割し、改行を追加して各単語を出力します。
#!/ bin / bash
#forループを使用してスペースを含む文字列を読み取る
にとって価値の私はプログラミングが好きです
NS
捨てた $ value
終わり
出力:
$bashfor_list1.sh
例-2:forループを使用して文字列変数を反復する
‘という名前のbashファイルを作成します for_list2.sh ’を入力し、次のスクリプトを追加します。変数にテキストを割り当て、 StringVal そして、forループを使用してこの変数の値を読み取ります。この例も前の例と同様に機能し、変数の値をスペースに基づいて単語に分割します。
#!/ bin / bash
#値を使用して文字列変数を定義する
StringVal=「linuxhintへようこそ」
#forループを使用して文字列変数を反復します
にとって時間の $ StringVal;NS
捨てた $時間
終わり
出力:
$bashfor_list2.sh
例-3:文字列値の配列を繰り返します
‘という名前のbashファイルを作成します for_list3.sh ’を入力し、次のスクリプトを追加します。このスクリプトでは、文字列値の配列が型で宣言されています。スペースを含む配列内の2つの値は次のとおりです。 Linux Mint と Red Hat Linux 。このスクリプトは、これらの値を複数の単語に分割し、個別の値として出力することによって出力を生成します。しかし、これは適切な出力ではありません。このタイプの問題の解決策を次の例に示します。
#!/ bin / bash#タイプを使用して文字列の配列を宣言します
宣言する -に StringArray=((「LinuxMint」 「Fedora」 「RedHatLinux」 「Ubuntu」 「Debian」 )。
#forループを使用して文字列配列を反復します
にとって時間の $ {StringArray [@]};NS
捨てた $時間
終わり
出力:
$bashfor_list3.sh
例-4:複数の単語の文字列値を単一の値として出力する
‘という名前のbashファイルを作成します for_list4.sh ’を入力し、次のスクリプトを追加します。この例では、配列変数のすべての要素、 StringArray 2つの単語の値が含まれています。分割せずに各値を出力し、前の例の問題を解決するには、配列変数をで囲む必要があります。 二重引用符 forループ内。
#!/ bin / bash#タイプを使用して文字列配列を宣言します
宣言する -に StringArray=((「WindowsXP」 'ウィンドウズ10' 「WindowsME」 「Windows8.1」
「WindowsServer2016」 )。
#スペースを使用して配列値を読み取ります
にとって時間の '$ {StringArray [@]}';NS
捨てた $時間
終わり
出力:
$bashfor_list4.sh
例-5:「*」を使用して配列の文字列値を反復する
‘という名前のbashファイルを作成します for_list5.sh ’と次のコード。ここで、「*」記号は、配列のすべての文字列値を読み取るために使用されます。最初のforループは、配列値を複数行で表示するために使用され、2番目のforループは、配列値を1行で表示するために使用されます。
#!/ bin / bash#文字列配列を宣言する
LanguageArray=((「PHP」 「Java」 'NS #' 「C ++」 「VB.Net」 「Python」 「Perl」)。
#配列値を行に出力します
捨てた 「すべての要素を改行で印刷する」
にとってval1の $ {LanguageArray [*]};NS
捨てた $ val1
終わり
捨てた ''
#配列値を1行で出力
捨てた 「すべての要素を1行で印刷する」
にとってval2の '$ {LanguageArray [*]}';NS
捨てた $ val2
終わり
捨てた ''
出力:
$bashfor_list5.sh
例-6:コンマ区切りの文字列値を繰り返す
‘という名前の新しいbashファイルを作成します for_list6.sh ’ 次のコードで。ここ、 コンマ (、) 文字列値を分割するために使用されます。 IFS 変数は、フィールド区切り文字を設定するために使用されます。
#!/ bin / bashDataList='HTML5、CCS3、BootStrap、JQuery'
Field_Separator=$ IFS
#文字列リストの内部フィールド区切り文字としてカンマを設定
IFS=、
にとって時間の $ DataList;
NS
捨てた $時間
終わり
IFS=$ Field_Separator
出力:
$bashfor_list6.sh
例-7:複数の文字列配列を一緒に読み取る
‘という名前のbashファイルを作成します for_list7.sh ’を入力し、次のスクリプトを追加します。この例では、2つの文字列配列が定義され、結合されて別の配列になります。外側のforループは結合された配列を読み取るために使用され、内側のforループは各内側の配列を読み取るために使用されます。
#! / bin / shstr_array1=((「Magento2.2.4」 「WooCommerce」)。
str_array2=((「CodeIgnitor」 「Laravel」)。
混ぜる=((str_array1 str_array2)。
にとって管理の $ {combine [@]}
NS
eval '$ {'のvalの場合$ arrItem'[@]}'; do echo '$ val'; done '
終わり
出力:
$bashfor_list7.sh
例8:パターンを使用して文字列のリストを読み取る
名前の付いた新しいbashファイルを作成します for_list8.sh 次のコードで。ここ、 ‘/、/’ patternは、コンマに基づいて文字列値を分割するために使用されます。
#! / bin / sh#文字列変数のリストを定義する
stringList= WordPress、Joomla、Magento
#区切り文字としてコンマを使用し、パターンとして適用します
にとって時間の $ {stringList //、/}
NS
捨てた $時間
終わり
出力:
$bashfor_list8.sh
このチュートリアルの例が、の使用法を理解するのに役立つことを願っています forループ 文字列のリストの反復については、このトピックに関するビデオについては、以下を参照してください。