Moje zmienne to
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
ORACLE_HOME=/usr/lib/oracle/11.2/client64
Jak zapisać te zmienne na stałe?
Moje zmienne to
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
ORACLE_HOME=/usr/lib/oracle/11.2/client64
Jak zapisać te zmienne na stałe?
Odpowiedzi:
Możesz dodać go do pliku .profilelub pliku profilu powłoki logowania (znajdującego się w katalogu domowym).
Aby zmienić zmienną środowiskową „na stałe”, musisz wziąć pod uwagę przynajmniej następujące sytuacje:
/etc/profile, ~/.bash_profile, ~/.bash_login, ~/.profilew kolejności~/.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
Jeśli chcesz, aby był stały dla wszystkich użytkowników, możesz edytować odpowiednie pliki pod /etc/, tj. /etc/profileDla powłok podobnych do Bourne'a, /etc/csh.logindla (t) csh /etc/zsh/zprofilei /etc/zsh/zshrcdla zsh.
Inną opcją jest użycie /etc/environment, które w systemach Linux jest odczytywane przez moduł PAM pam_envi obsługuje tylko proste przypisania, a nie rozszerzenia w stylu powłoki. (Zobacz Przewodnik Debiana na ten temat.)
Te pliki prawdopodobnie zawierają już niektóre przypisania, więc postępuj zgodnie ze składnią, którą już widzisz w swoim pliku.
Należy zrestartować powłokę i ponownie zalogować użytkownika, aby zastosować zmiany.
Jeśli chcesz dodać ogólnosystemową zmienną środowiskową, jest teraz /etc/profile.dfolder zawierający skrypt sh do inicjalizacji zmiennej.
Tutaj możesz umieścić swój skrypt sh ze wszystkimi eksportowanymi zmiennymi.
Uważaj jednak, nie należy tego używać jako standardowego sposobu dodawania zmiennej do env w Debianie.
.profilew, /etc/ale nie wiem jak ustawić zmienne w tym .profileproszę powiedzieć
.profilenie znajduje się w twoim katalogu domowym/etc/
[Admin@localhost etc]$ cat ~/.profile cat: /home/Admin/.profile: No such file or directory [Admin@localhost etc]$
:wqto polecenie zapisu pliku i wyjścia z vi, nie zapomnij wpisać escwcześniej
crontabskryptach. Żadna z tych lokalizacji nie będzie sprawdzana podczas działania crontabskryptu.
Aby zrobić, jeśli dla wszystkich użytkowników / powłok, w zależności od dystrybucji, której możesz użyć /etc/environmentlub /etc/profile. Utworzenie nowego pliku /etc/profile.dmoże być preferowane, jeśli istnieje, ponieważ rzadziej będzie powodować konflikt z aktualizacjami wprowadzonymi przez system pakowania.
W /etc/environment, zmienne są zwykle ustawiane za pomocą name=value, np .:
ORACLE_HOME=/usr/lib/oracle/11.2/client64
W /etc/profilemusisz użyć, exportponieważ jest to skrypt, np .:
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
To samo dotyczy pliku poniżej /etc/profile.d, mogą również obowiązywać ograniczenia nazewnictwa, które muszą być spełnione, aby plik działał. W systemie Debian plik musi mieć rozszerzenie .sh(chociaż nie wymaga linii bang ani uprawnień wykonywalnych, ponieważ jest pozyskiwany). sprawdź dokumentację dystrybucji lub spójrz na /etc/profileskrypt, aby zobaczyć, jak te pliki są ładowane.
Należy również pamiętać, że ustawienie na LD_LIBRARY_PATHstałe jest potencjalnie problematyczne , w tym może stanowić zagrożenie bezpieczeństwa. Alternatywnie proponuję znaleźć sposób, aby przed LD_LIBRARY_PATHuruchomieniem uruchomić program na początku wiersza poleceń dla każdego programu, który go potrzebuje. Na przykład:
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib myprog
Jednym ze sposobów na to jest użycie skryptu opakowania do uruchomienia programu. Możesz nadać temu samemu nazwę jak twój program i umieścić go w /usr/local/bindowolnym miejscu, które pojawia się przed lokalizacją twojego programu PATH. Oto przykładowy skrypt (nie zapomnij o chmod +xskrypcie):
#!/bin/sh
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib /real/location/of/myprog "$@"
environmentpliku, co powoduje ich ładowanie? Na przykład po wyjściu z edytora vi (zmiany zostały zapisane pomyślnie) echo $MY_NEW_VARIABLE
/etc/environment, nawet jeśli ponownie uruchomiłem terminal bash lub wpisałem source /etc/environment. Więc jeśli masz problemy, w których zmienna środowiskowa nie utrwala się, spróbuj ponownie uruchomić komputer.
/etc/environmentnie jest skryptem, więc nie można go uzyskać. Jest ładowany w czasie logowania (i kilku innych zdarzeń systemowych) przez PAM, więc możesz się wylogować / zalogować lub uruchomić nową sesję logowania w terminalu, $ su <your username here>aby pobrać nowe wartości w tej odizolowanej sesji. Wartości znikną po wyjściu, więc prawdopodobnie mniej podatne jest na pełne wylogowanie / zalogowanie.
podczas instalacji Oracle, Oracle poprosił o uruchomienie niektórych skryptów przed kliknięciem OK. Ten skrypt umieścił fikcyjne ustawienie w katalogu .bash_profileosobistym użytkownika w oracle. Aby zobaczyć plik, ls -alpokaże wszystkie ukryte pliki.
wpisz, nano bash_profileaby otworzyć plik. Wprowadź zmiany w pliku, aby odzwierciedlić nazwę hosta i odpowiednią nazwę sid. sprawdź wszelkie inne ustawienia, które wymagają modyfikacji. naciśnij control x, aby zapisać i wpisz y, gdy pojawi się pytanie, czy chcesz zapisać. Naciśnij klawisz powrotu, aby zapisać. Zrestartuj komputer. Logowanie jako użytkownik Oracle. uruchom bazę danych, wpisując
sqlplus / as sysdba
startup
/usr/lib/oracle/11.2/client64/libnowego pliku pod/etc/ld.so.conf.d/ścieżką. Zatem nie musisz ustawiać LD_LIBRARY_PATH, patrz również tutaj .