Назад | Перейти на главную страницу

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

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

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

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

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

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