Ubuntu: `env -i bash --norc`, ma include variabili essenziali come HOME, DISPLAY? (dove sono impostati?)


0

C'è un modo semplice per isolare una sessione di bash in modo che solo le variabili essenziali ( HOME, USER, DISPLAY, etc.) sono conservati? (essenziale in quanto molti programmi falliscono se HOME, DISPLAY, TERM, SHELL, ecc. non sono impostati). Vale a dire, qualcuno sa dove sono ambientati?

Avevo provato ad aggiungere la linea test -n "${NO_ALIASES+D}" && return 0al mio ~/.bash_aliases(non ho fatto nulla di aggiuntivo in ~/.bashrc) in modo da ottenere un incontaminato ~/.bashrcse lo avessi fatto

env -i NO_ALIASES=1 bash

ma quelle variabili mancavano ancora.

Ho anche provato l'origine /etc/profilenella shell isolata, ma senza risultati.

Quello che funziona è un pass-through manuale:

env -i HOME=$HOME DISPLAY=$DISPLAY SHELL=$SHELL TERM=$TERM bash --norc

Che cosa vuoi fare esattamente? Perchè ti serve? Quali variabili non vuoi?
terdon,

Voglio lavorare all'interno dello stesso account utente ma con il set minimo di variabili di ambiente, senza dover cambiare manualmente il mio ambiente stesso. Sto lavorando con il sistema di creazione catkin di ROS , che è uno strumento fantastico (per fare cose come aree di lavoro coesive e build multiple, concatenare dipendenze dell'area di lavoro, gestione del percorso). All'interno di questo sistema e dello stesso ROS, ci sono un sacco di variabili d'ambiente, molte delle quali sono state aggiunte e alcune che potrebbero non andare via rinviando i file di installazione. Vorrei riprodurre i risultati isolando l'ambiente.
eacousineau,
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.