Le mie variabili sono
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
ORACLE_HOME=/usr/lib/oracle/11.2/client64
Come salvare queste variabili in modo permanente?
Le mie variabili sono
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
ORACLE_HOME=/usr/lib/oracle/11.2/client64
Come salvare queste variabili in modo permanente?
Risposte:
È possibile aggiungerlo al file .profileo al file del profilo della shell di accesso (situato nella directory principale).
Per modificare la variabile ambientale "in modo permanente" dovrai considerare almeno queste situazioni:
/etc/profile, ~/.bash_profile, ~/.bash_login, ~/.profilenell'ordine~/.bashrc$BASH_ENV$EDITOR ~/.profile
#add lines at the bottom of the file:
export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
$EDITOR ~/.zprofile
#add lines at the bottom of the file:
export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
$EDITOR ~/.profile
#add lines at the bottom of the file:
export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
$EDITOR ~/.profile
#add lines at the bottom of the file:
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
ORACLE_HOME=/usr/lib/oracle/11.2/client64
export LD_LIBRARY_PATH ORACLE_HOME
$EDITOR ~/.login
#add lines at the bottom of the file:
setenv LD_LIBRARY_PATH /usr/lib/oracle/11.2/client64/lib
setenv ORACLE_HOME /usr/lib/oracle/11.2/client64
Se si desidera renderlo permanente per tutti gli utenti, è possibile modificare i file corrispondenti in /etc/, ad esempio /etc/profileper shell tipo Bourne, /etc/csh.loginper (t) csh e /etc/zsh/zprofilee /etc/zsh/zshrcper zsh.
Un'altra opzione è l'uso /etc/environment, che sui sistemi Linux viene letto dal modulo PAM pam_enve supporta solo assegnazioni semplici, non espansioni di tipo shell. (Vedi la guida di Debian su questo.)
È probabile che questi file contengano già alcuni compiti, quindi segui la sintassi che vedi già presente nel tuo file.
Assicurarsi di riavviare la shell e accedere nuovamente all'utente per applicare le modifiche.
Se è necessario aggiungere una variabile di ambiente a livello di sistema, ora c'è una /etc/profile.dcartella che contiene sh script per inizializzare la variabile.
È possibile posizionare qui lo script sh con tutte le variabili esportate.
Fai attenzione, anche se questo non dovrebbe essere usato come un modo standard per aggiungere variabili a env su Debian.
.profilein /etc/ma non so come impostare le variabili in questo per .profilefavore dimmi
.profilenon è nella tua home directory/etc/
[Admin@localhost etc]$ cat ~/.profile cat: /home/Admin/.profile: No such file or directory [Admin@localhost etc]$
:wqè il comando per scrivere il file e uscire in vi non dimenticare di digitare escprima
crontabscript. Nessuna di queste posizioni verrà cercata quando uno crontabscript è in esecuzione.
Per fare se per tutti gli utenti / shell, a seconda della distribuzione è possibile utilizzare /etc/environmento /etc/profile. La creazione di un nuovo file in /etc/profile.dpotrebbe essere preferibile se esiste, poiché sarà meno probabile che sia in conflitto con gli aggiornamenti effettuati dal sistema di packaging.
In /etc/environment, le variabili sono generalmente impostate con name=value, ad esempio:
ORACLE_HOME=/usr/lib/oracle/11.2/client64
In /etc/profile, è necessario utilizzare exportpoiché si tratta di uno script, ad esempio:
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
Lo stesso vale per un file sotto /etc/profile.d, potrebbero esserci anche delle restrizioni di denominazione che devono essere soddisfatte affinché il file funzioni. Su Debian, il file deve avere l'estensione .sh(anche se non ha bisogno di una bang line o permessi eseguibili poiché è di provenienza). controlla la tua documentazione sulla distribuzione o guarda lo /etc/profilescript per vedere come vengono caricati questi file.
Si noti inoltre che l'impostazione in modo LD_LIBRARY_PATHpermanente è potenzialmente problematica , incluso il rischio per la sicurezza. In alternativa, suggerirei di trovare un modo per anteporre LD_LIBRARY_PATHl'inizio della riga di comando per ciascun programma che ne ha bisogno prima di eseguirlo. Per esempio:
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib myprog
Un modo per farlo è utilizzare uno script wrapper per eseguire il programma. Potresti dare a questo lo stesso nome del tuo programma e inserirlo /usr/local/bino dovunque appaia prima della posizione del tuo programma PATH. Ecco uno script di esempio (non dimenticare chmod +xlo script):
#!/bin/sh
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib /real/location/of/myprog "$@"
environmentfile, cosa causa il loro caricamento? Ad esempio, dopo essere uscito dall'editor vi (modifiche scritte correttamente), mi aspetto di scriverlo echo $MY_NEW_VARIABLEe vederlo stampare - EDIT: vedo che sono lì se lancio una nuova shell di comandi
/etc/environment, anche se ho riavviato il terminale Bash o digitato source /etc/environment. Quindi, se riscontri problemi in cui la variabile d'ambiente non si perpetua, prova a riavviare.
/etc/environmentnon è uno script, quindi non può essere acquistato. Viene caricato al momento dell'accesso (e una manciata di altri eventi di sistema) da PAM, quindi è possibile disconnettersi / accedere o eseguire una nuova sessione di accesso in un terminale $ su <your username here>per raccogliere i nuovi valori in quella sessione isolata. I valori scompaiono una volta usciti, quindi è probabilmente meno soggetto a errori solo il logout / login completo.
quando installi Oracle, Oracle chiede di eseguire alcuni script prima di fare clic su OK. Lo script ha inserito un'impostazione fittizia nella .bash_profilehome directory dell'utente in oracle. Per vedere il file, ls -almostrerà tutti i file nascosti.
digitare nano bash_profileper aprire il file. Apporta le modifiche al file per riflettere il tuo nome host e il nome sid appropriato. controlla eventuali altre impostazioni che richiedono modifiche. premere control x per salvare e digitare y quando viene chiesto se si desidera salvare. Premere il tasto Invio per salvare. Riavvia il computer. Registrazione come utente Oracle. avviare il database digitando
sqlplus / as sysdba
startup
/usr/lib/oracle/11.2/client64/libun nuovo file sotto il/etc/ld.so.conf.d/percorso. Quindi non è necessario impostare LD_LIBRARY_PATH, vedere anche qui .