Изменить приглашение оболочки на основе имени контейнера?
Я проделал большую работу с использованием контейнеров Linux, и я постоянно забываю, какие терминалы на моем экране работают внутри какого контейнера, особенно когда я оставляю их открытыми на ночь.
Как изменить подсказку оболочки или заголовок терминала в зависимости от контейнера, в котором работает оболочка?
Это общий вопрос, но было бы здорово, если бы он работал на systemd-nspawn
а также kde
на Arch.
1 ответ
Убедитесь, что ваши контейнеры используют разные пространства имен UTS, а затем установите уникальное имя хоста в каждом из них. Например, такие вещи, как docker, устанавливают значение имени хоста в качестве идентификатора хеша контейнера по умолчанию в пространстве имен UTS, связанном с основным процессом контейнера.
Таким образом, с PS1
Используя переменную hostname, вы будете знать, в каком контейнере вы находитесь, когда запускаете приглашение bash.