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?
environment-variables
użytkownik3021349
źródło
źródło
/usr/lib/oracle/11.2/client64/lib
nowego pliku pod/etc/ld.so.conf.d/
ścieżką. Zatem nie musisz ustawiać LD_LIBRARY_PATH, patrz również tutaj .Odpowiedzi:
Możesz dodać go do pliku
.profile
lub 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:
grzmotnąć
/etc/profile
,~/.bash_profile
,~/.bash_login
,~/.profile
w kolejności~/.bashrc
$BASH_ENV
zsh
ksh
kres
csh lub tcsh
Jeśli chcesz, aby był stały dla wszystkich użytkowników, możesz edytować odpowiednie pliki pod
/etc/
, tj./etc/profile
Dla powłok podobnych do Bourne'a,/etc/csh.login
dla (t) csh/etc/zsh/zprofile
i/etc/zsh/zshrc
dla zsh.Inną opcją jest użycie
/etc/environment
, które w systemach Linux jest odczytywane przez moduł PAMpam_env
i 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.d
folder 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.
źródło
.profile
w,/etc/
ale nie wiem jak ustawić zmienne w tym.profile
proszę powiedzieć.profile
nie znajduje się w twoim katalogu domowym/etc/
[Admin@localhost etc]$ cat ~/.profile cat: /home/Admin/.profile: No such file or directory [Admin@localhost etc]$
:wq
to polecenie zapisu pliku i wyjścia z vi, nie zapomnij wpisaćesc
wcześniejcrontab
skryptach. Żadna z tych lokalizacji nie będzie sprawdzana podczas działaniacrontab
skryptu.Aby zrobić, jeśli dla wszystkich użytkowników / powłok, w zależności od dystrybucji, której możesz użyć
/etc/environment
lub/etc/profile
. Utworzenie nowego pliku/etc/profile.d
moż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 .:W
/etc/profile
musisz użyć,export
ponieważ jest to skrypt, np .: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/profile
skrypt, aby zobaczyć, jak te pliki są ładowane.Należy również pamiętać, że ustawienie na
LD_LIBRARY_PATH
stałe jest potencjalnie problematyczne , w tym może stanowić zagrożenie bezpieczeństwa. Alternatywnie proponuję znaleźć sposób, aby przedLD_LIBRARY_PATH
uruchomieniem uruchomić program na początku wiersza poleceń dla każdego programu, który go potrzebuje. Na przykład: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/bin
dowolnym miejscu, które pojawia się przed lokalizacją twojego programuPATH
. Oto przykładowy skrypt (nie zapomnij ochmod +x
skrypcie):źródło
environment
pliku, 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łemsource /etc/environment
. Więc jeśli masz problemy, w których zmienna środowiskowa nie utrwala się, spróbuj ponownie uruchomić komputer./etc/environment
nie 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_profile
osobistym użytkownika w oracle. Aby zobaczyć plik,ls -al
pokaże wszystkie ukryte pliki.wpisz,
nano bash_profile
aby 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źródło