Permanece no shell interativo após o newgrp?

0

Para a maioria dos meus projetos, meu grupo primário padrão está correto. No entanto, para um deles, preciso definir um novo grupo principal antes de entrar em seu ambiente para evitar problemas de permissões. Atualmente, este é um processo de duas etapas:

  1. $ newgrp specialgroup
  2. $ source specialenvironment

Eu gostaria de reduzir isso para um único comando. Parece-me que eu deveria ser capaz de fazer isso:

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

Eu acho que isso criaria uma subshell na qual o grupo é definido como 'specialgroup', então crie outra subshell que imediatamente origina specialenvironment . No entanto, isso não acontece, então estou claramente enganado.

Questões semelhantes que não resolveram o meu problema:
1- how-do-you-use-newgrp-in-a-script-then-stay-in-that-group-when-the-script-exits
2- problema-enquanto-executando-newgrp-command-in-script

Alguma idéia de como resolver isso?

    
por Thomas 20.11.2017 / 18:10

1 resposta

0

Adicione isto no final do seu .bashrc :

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

em que 1234 é o GID de specialgroup ; use o número correto. Desta forma, quando você corre sola

newgrp specialgroup

specialenvironment será originado automaticamente.

    
por 20.11.2017 / 19:33