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.