GNU/Linux >> Linux Esercitazione >  >> Linux

Imposta le variabili ambientali in una particolare directory

nel tuo bashrc imposta questo:

PROMPT_COMMAND='[[ $PWD == "/foo/bar/" ]] && export FOO=BAR || unset FOO'

Il contenuto della variabile PROMPT_COMMAND verrà eseguito ogni volta che il tuo prompt viene riscritto (appena prima che sia effettivamente scritto) il comando sopra controlla la variabile $PWD (che contiene la directory di lavoro corrente della tua shell) rispetto a "/foo/bar" se lo fa corrisponde esporta la variabile in caso contrario, la variabile non è impostata.

ES

[email protected]$ PROMPT_COMMAND='[[ $PWD == "/home/peteches/test" ]] && export FOO=BAR || unset FOO'
[email protected]$ pwd
/home/peteches
[email protected]$ cd test
[email protected]$ pwd
/home/peteches/test
[email protected]$ env | grep FOO
6:FOO=BAR
73:PROMPT_COMMAND=[[ $PWD == "/home/peteches/test" ]] && export FOO=BAR || unset FOO
[email protected]$ cd ../
[email protected]$ pwd
/home/peteches
[email protected]$ env | grep FOO
72:PROMPT_COMMAND=[[ $PWD == "/home/peteches/test" ]] && export FOO=BAR || unset FOO
[email protected]$ 

Se non ti dispiace usare una soluzione alternativa, aggiungila al tuo .bash_profile

mycd()
{
    cd $1
    if [ "$(pwd)" == "/your/folder/that/needs/env" ]; then
        export RAILS_ENV=development
    else
        export RAILS_ENV=
    fi;
}
alias cd=mycd

Ogni volta che ti sposti in una certa cartella, questo imposterà la tua variabile env o quello che vuoi


Primo, AFAIK, bash non cercherà un .bashrc file in qualsiasi altra directory tranne la tua casa -- almeno, non per impostazione predefinita.

In secondo luogo, dopo aver scritto nuove voci nel tuo .bashrc , dovresti source .bashrc il file, in modo che le modifiche abbiano luogo.


Linux
  1. Scopri come impostare le variabili $PATH in modo permanente in Linux

  2. 7 Esempi pratici di comando cd in Linux

  3. Variabili di "nidificazione" in bash

  4. Come imposto la directory di lavoro del processo genitore?

  5. Come stampare variabili d'ambiente apparentemente nascoste?

Come impostare le variabili d'ambiente in MacOS

Come impostare ed elencare le variabili di ambiente in Linux

Come impostare ed elencare variabili ambientali in Linux

Come SSH in una directory particolare su Linux

Come impostare e annullare l'impostazione delle variabili di ambiente su Linux

Come impostare la privacy della directory in cPanel?