Тож сторінки bash man пояснюють, що таке вхідні та інтерактивні оболонки:
Оболонка входу - це той, чий перший символ нуля аргументу - -, або розпочато з параметра --login.
Інтерактивна оболонка - це запущена без аргументів неопціонування та без параметра -c, стандартний вхід і помилка як з'єднані з терміналами (як визначено isatty (3)), так і інша, розпочата з опції -i. PS1 встановлений, а $ - включає i, якщо bash є інтерактивним, що дозволяє скрипту оболонки або файлу запуску перевірити цей стан.
Я думаю, це означає, що ми можемо мати 4 різних типи снарядів:
- Інтерактивні оболонки для входу,
- Неінтерактивні оболонки для входу,
- Інтерактивні оболонки без входу,
- Неінтерактивні оболонки без входу
Але чому ми маємо в першу чергу інтерактивні / неінтерактивні оболонки для входу / не входу? Чому сорт? Що б ми втратили, якби у нас був лише один тип оболонки?
Також, намагаючись визначити, чи перебуваю я в оболонці входу, запускаючи echo $-
, він виводить:
himBH
Деякі з цих прапорів пояснюються тут , але h
, H
і m
не пояснили. Чи є місце, де описані всі ці прапори?