TGViewer
NetworkAdmin.ru NetworkAdmin.ru @networkadminru · 4.7K subscribers
Post #341 3.17K
👩‍💻 SH, BASH и DASH — в чём разница и что использовать?

Начинающие пользователи Linux часто указывают #!/bin/sh в начале скриптов, не задумываясь о значении этой строки. Но есть ещё #!/bin/bash и даже #!/bin/dash.

Разберёмся, что это за оболочки и когда их использовать.


1️⃣SH (оболочка Борна)
— Первая стандартная оболочка Unix.
— Минимальный набор возможностей, поддержка POSIX.
— В большинстве современных систем /bin/sh — это символическая ссылка на BASH или DASH.

2️⃣BASH (Bourne Again Shell)
— Самая популярная оболочка в Linux.
— Поддерживает все возможности SH + дополнительные функции (массовое присваивание переменных, массивы, циклы for с расширенной синтаксической поддержкой и т.д.).
— POSIX-совместимость опциональна (включается флагом --posix).

3️⃣DASH (оболочка Debian Almquist)
— Минимальная и быстрая оболочка.
— Совместима с POSIX.
— По умолчанию /bin/sh в Debian и Ubuntu указывает на DASH, что делает системы более быстрыми и экономными по ресурсам.

Что выбрать?

▪️ SH — если нужен переносимый скрипт, который будет работать на любом POSIX-совместимом Unix-системе.
▪️ BASH — когда важен расширенный функционал и удобство, т.к. BASH есть почти во всех Linux-системах.
▪️ DASH — для лёгких скриптов, где важна скорость и минимальное использование системных ресурсов.

Если нет жёстких требований к совместимости или скорости, используйте BASH — это универсально и удобно. Но для массовых операций или запуска скриптов с частым вызовом функций быстрее будет DASH из-за его меньшего потребления ресурсов и более высокой скорости выполнения.

#linux #bash #dash

🧑‍💻 NetworkAdmin | ⚙️ EasyTools
  • 👍 18
  • 🔥 4
More from @networkadminru
  1. Oct 1, 2026✨ Systemd-команды, которые быстро дают информацию о системе У systemd есть несколько коман…
  2. Sep 30, 2026🖥 Get-ADUser: полезные примеры для работы с пользователями Active Directory Get-ADUser -…
  3. Sep 29, 2026🥱 Как быстро разобраться с дисками и маунтами Когда на сервере несколько дисков, LVM, отд…
  4. Sep 28, 2026🔎 TCP keepalive: как находить мертвые соединения до того, как они создадут проблему Иногд…
  5. Sep 25, 2026🤩 Как расшифровать код ошибки Windows через certutil При установке обновлений Windows ран…
  6. Sep 23, 2026💻 Как жестко перезагрузить linux, когда обычный reboot уже не помогает Иногда сервер зави…
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 →