LINUX.ORG.RU

История изменений

Исправление legolegs, (текущая версия) :

Ну, например, так можно:

#!/bin/bash
declare -A cities
cities=(
[Нерезиновая]=moscow@example.org
[Мухосранск]=flyshitburg@example.org
[Болота]=spb@example.org
)
for city in "${!cities[@]}"; do
  email="${cities[$city]}"
  echo city=$city email=$email
  cd "$city"
  /usr/local/bin/скрипт_который_отправляет_почту.sh "$email"
  cd ..
done

Идея с директориями, названными как почтовые адреса тоже норм, но не все юзеры хорошо читают адреса на латиннице, и не все почтовики работают с кириллическими адресами.

Другой вариант - таблицу мыло=город положить в файл и читать в цикле

while read email city ; do 
  echo city=$city email=$email
  cd "$city"
  /usr/local/bin/скрипт_который_отправляет_почту.sh "$email"
  cd ..
done < cities.txt
cities.txt:
moscow@example.org Нерезиновая
flyshitburg@example.org Мухосранск
spb@example.org Санкт-Петербург
nn@example.org Нижний Новгород С Пробелами

Исходная версия legolegs, :

Ну, например, так можно:

#!/bin/bash
declare -A cities
cities=(
[Нерезиновая]=moscow@example.org
[Мухосранск]=flyshitburg@example.org
[Болота]=spb@example.org
)
for city in "${!cities[@]}"; do
  email="${cities[$city]}"
  echo city=$city email=$email
  cd "$city"
  /usr/local/bin/скрипт_который_отправляет_почту.sh "$email"
  cd ..
done

Идея с директориями, названными как почтовые адреса тоже норм, но не все юзеры хорошо читают адреса на латиннице, и не все почтовики работают с кириллическими адресами.