Rimanere nella shell interattiva dopo newgrp?


0

Per la maggior parte dei miei progetti il ​​mio gruppo primario predefinito è corretto. Tuttavia, per uno di essi ho bisogno di impostare un nuovo gruppo primario prima di entrare nel suo ambiente al fine di evitare problemi di autorizzazioni lungo la linea. Attualmente questo è un processo in due fasi:

  1. $ newgrp specialgroup
  2. $ source specialenvironment

Vorrei ridurlo a un solo comando. Mi sembra che dovrei essere in grado di fare questo:

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

Penserei che ciò creerebbe una subshell in cui il gruppo è impostato su "specialgroup", quindi creerebbe un'altra subshell che immediatamente genera specialenvironment. Tuttavia, non lo è, quindi mi sbaglio chiaramente.

Domande simili che non hanno risolto il mio problema:
1- how-do-you-use-newgrp-in-a-script-then-stay-in-that-group-when-the-script-exit
2- problem-while- running-newgrp-comando-in-script

Qualche idea su come risolverlo?

Risposte:


0

Aggiungi questo alla fine del tuo .bashrc:

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

dov'è 1234il GID di specialgroup; usa il numero giusto. In questo modo quando corri suola

newgrp specialgroup

specialenvironment verrà fornito automaticamente.


Grazie, con alcune modifiche sono stato in grado di farlo funzionare.
Thomas,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.