TGViewer
BashTex | Linux BashTex | Linux @bash_tex · 2.51K subscribers
Post #218 1.92K
Массивы и ассоциативные массивы

Если ты до сих пор используешь только переменные в Bash, пора прокачаться - массивы и ассоциативные массивы дают прокачку в области автоматизации.

▪️ Обычные массивы. Когда нужен список значений, например, список баз данных:


databases=("db1" "db2" "db3")

for db in "${databases[@]}"; do
echo "Делаю бэкап $db..."
pg_dump "$db" > "$db.sql"
done


▪️ Ассоциативные массивы. Когда нужно сопоставить ключ → значение, например: сервис и его порт.


declare -A services
services=(
[nginx]=80
[ssh]=22
[postgres]=5432
)

for service in "${!services[@]}"; do
port=${services[$service]}
echo "$service работает на порту $port"
done


▪️ Реальное применение

📍 Мониторинг процессов:


declare -A procs=( [nginx]="nginx" [db]="postgres" [ssh]="sshd" )

for name in "${!procs[@]}"; do
pgrep -x "${procs[$name]}" > /dev/null || echo "$name не работает!"
done


📍 Распределённая отправка по email:


emails=(user1@example.com user2@example.com user3@example.com)

for email in "${emails[@]}"; do
echo "Привет!" | mail -s "Уведомление" "$email"
done


BashTex 📱 #linux #utils
  • 🔥 14
  • 👍 4
  • 🫡 2
More from @bash_tex
  1. Oct 13, 2026openat2(): как Linux защищает от выхода за пределы каталога Допустим, приложение должно чи…
  2. Oct 12, 2026xargs против while read: где быстрее и безопаснее Обе конструкции позволяют обработать спи…
  3. Oct 9, 2026BashTex 📱 #мем
  4. Oct 8, 2026Bridge FDB - как Linux bridge узнаёт, где находится MAC Linux bridge не знает заранее, за…
  5. Oct 7, 2026/dev/tcp - сетевое соединение средствами Bash В Bash есть малоизвестная возможность работа…
  6. Oct 6, 2026Ephemeral ports - почему заканчиваются исходящие TCP-порты Когда приложение устанавливает…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →