Изменить приглашение оболочки на основе имени контейнера?

Я проделал большую работу с использованием контейнеров Linux, и я постоянно забываю, какие терминалы на моем экране работают внутри какого контейнера, особенно когда я оставляю их открытыми на ночь.

Как изменить подсказку оболочки или заголовок терминала в зависимости от контейнера, в котором работает оболочка?

Это общий вопрос, но было бы здорово, если бы он работал на systemd-nspawn а также kde на Arch.

1 ответ

Решение

Убедитесь, что ваши контейнеры используют разные пространства имен UTS, а затем установите уникальное имя хоста в каждом из них. Например, такие вещи, как docker, устанавливают значение имени хоста в качестве идентификатора хеша контейнера по умолчанию в пространстве имен UTS, связанном с основным процессом контейнера.

Таким образом, с PS1 Используя переменную hostname, вы будете знать, в каком контейнере вы находитесь, когда запускаете приглашение bash.

Другие вопросы по тегам