Для большинства моих проектов моя основная группа по умолчанию верна. Однако для одного из них мне нужно установить новую первичную группу перед входом в ее среду, чтобы избежать проблем с разрешениями в дальнейшем. В настоящее время это двухэтапный процесс:

  1. $ newgrp specialgroup
  2. $ source specialenvironment

Я хотел бы свести это к одной команде. Мне кажется, что я должен быть в состоянии сделать это:

$ sg specialgroup -c "bash --login -c 'source specialenvironment'"

Я думаю , что это создало бы подоболочку , в котором группа устанавливаются в «specialgroup», а затем создать другую подоболочку который сразу же источники specialenvironment Однако это не так, поэтому я явно ошибаюсь.

Подобные вопросы, которые не решили мою проблему:
1- как вы используете новый сценарий, затем оставайтесь в этой группе, когда сценарий выходит
2- проблема-пока-работает-newgrp-команда-в-сценарии

Есть идеи, как это решить?

1 ответ1

0

Добавьте это в конце вашего .bashrc:

[ $(id -g) -eq 1234 ] && source specialenvironment

где 1234 - GID specialgroup ; используйте правильный номер. Таким образом, когда вы бежите единолично

newgrp specialgroup

specialenvironment будет получен автоматически.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .