[解決済み] Bashで連想配列を繰り返し処理する方法
2022-03-24 16:03:08
質問
Bashスクリプトで連想配列に基づいて、キーと値を取得するために反復処理する必要があります。
#!/bin/bash
declare -A array
array[foo]=bar
array[bar]=foo
実は、for-inループを使いながらキーを取得する方法がよくわからないのです。
どのように解決するのですか?
感嘆符を使用してキーにアクセスします。
${!array[@]}
は、その
値
を使用してアクセスされます。
${array[@]}
.
このように、キーと値のペアを繰り返し処理することができます。
for i in "${!array[@]}"
do
echo "key : $i"
echo "value: ${array[$i]}"
done
において、変数を引用符で囲んでいることに注意してください。
for
ステートメントを使用し(さらに
@
の代わりに
*
). これは、キーにスペースが含まれている場合に必要です。
他の回答の混乱は、あなたの質問が "foo" と "bar" の両方のキーに含まれていることに起因しています。 と 値です。
関連
-
[解決済み] Bashスクリプトのソースディレクトリをスクリプト自体から取得するにはどうすればよいですか?
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで通常のファイルが存在しないかどうかを判断する方法を教えてください。
-
[解決済み] Bashで文字列変数を連結する方法
-
[解決済み] Bashで文字列が部分文字列を含むかどうかをチェックする方法
-
[解決済み] Bash prints リテラルの改行をエコーする \n
-
[解決済み] Bashスクリプトからプログラムが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで文字列をデリミターで分割するには?
-
[解決済み] Bashで変数で定義された数値の範囲を反復処理するにはどうすればよいですか?
-
[解決済み】Bashでファイル名と拡張子を抽出する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】シェルスクリプトで整数式が期待されるエラーが発生する
-
[解決済み】Bashのシンタックスエラー:予期しないファイルの終わり
-
[解決済み] テスト
-
[解決済み] echoコマンドでパイピングが効かない [重複]。
-
[解決済み] cygwin の ssh が終了時に "Killed by signal 1" と表示される
-
[解決済み] bash file returns unexpected token `$'dottpr''
-
[解決済み] 絶対パスと論理パスの違い
-
[解決済み] bashスクリプトでfindコマンドを使用する
-
[解決済み] シェルスクリプトでの連想配列
-
[解決済み] MINGW64 "make build" エラー。"bash: make: コマンドが見つかりません"