Zmieniłem zmienną ścieżki, a teraz niektóre uruchamiane przeze mnie aplikacje zgłaszają błędy informujące o braku komendy (błąd 127) dla poleceń takich jak data i tryb uśpienia . Te polecenia działają dobrze, gdy są wykonywane bezpośrednio w powłoce.
Zgaduję, że ma to coś wspólnego ze zniekształconą zmienną $ PATH i muszę wiedzieć, jak ją zresetować. Usunąłem pliki ~ / .bashrc , ~ / .bash_profile , /etc/bash.bashrc oraz ~ / .bashrc i ~ / .profile .
Jakie inne pliki mogą pomieścić moją $ PATH ? Czy istnieje prostszy sposób na zresetowanie ścieżki niż wkopanie w niezliczone pliki, które mogą zawierać moją ścieżkę?
Uwaga: ten problem ze ścieżką dotyczy tylko mojego użytkownika. Zrobiłem użytkownika testowego w moim systemie i ścieżka była w porządku, z powrotem do normalności.
AKTUALIZACJA: Dzięki. Nie wiem, który z usuniętych plików to zrobił, ale wszystko znów działa. Zrobiliście to, czego nie potrafili „eksperci”. I tak, Chris, miałeś rację. Dostosowania PATH, które wprowadziłem, były w bash_login. Ale jakoś zadziałało bez usuwania przeze mnie tych dostosowań. Myślę, że to mogło być, ponieważ korzystałem z tego przedpanu o nazwie „RCEnvironment” i wszedłem na ścieżkę z cytatami i: ŚCIEŻKA. Nie wiem, czy bierze cudzysłowy i nie zastępuje: $ PATH, więc to prawdopodobnie jest przyczyną błędu. Zapomniałem, że miałem nawet ten przedplat!
Odpowiedzi:
Jeśli masz plik ~ / .MacOSX / environment.plist, sprawdź, czy zawiera on domyślną wartość ŚCIEŻKI.
Jeśli jest w formacie XML (listy mogą być w wielu formatach), możesz edytować w dowolnym edytorze tekstu. Sprawdź to,
plutil -lint ~/.MacOSX/environment.plist
jeśli edytujesz go ręcznie.Lub możesz użyć poleceń takich jak defaults lub PlistBuddy, aby wprowadzić kontrolowane modyfikacje plików plist w formacie XML lub binarnym.
Zawsze możesz ustawić własną ŚCIEŻKĘ w dowolnym pliku inicjującym powłokę.
Umieść coś takiego jak poniżej w plikach startowych powłoki (
.bashrc
lub.bash_profile
/.bash_login
/.profile
):To zastąpi domyślną ŚCIEŻKĘ ustawioną podczas uruchamiania powłoki (pierwsza
PATH=
nie używa$PATH
, więc zawsze zacznie się od tego, co dasz).Tylko nigdy nie będzie używany przez jeden z plików „login” (pierwszy, że istnieje i jest czytelny z
~/.bash_profile
,~/.bash_login
i~/.profile
będzie używany)..profile
jest dla wstecznej kompatybilności z innymi powłokami - jeśli go używasz, pamiętaj, aby był wolny od składni specyficznej dla bash . Jeśli wybierzesz opcję.bash_login
lub.bash_profile
(są funkcjonalnie równoważne, z wyjątkiem nazw), użyj linii podobnej[[ -e ~/.bashrc -a -r ~/.bashrc ]] && source ~/.bashrc ]]
do górnej, aby powłoki logowania otrzymały również dostosowania wprowadzone w twoim pliku.bashrc
.Jeśli chcesz, aby wszystkie wystąpienia bash miały tę samą ŚCIEŻKĘ, użyj
.bashrc
. Jeśli często interaktywnie modyfikujesz ŚCIEŻKĘ pojedynczej powłoki z wiersza poleceń i chcesz używać tej zmodyfikowanej ŚCIEŻKI w podpowłokach (przypadki, które prawdopodobnie nie są strasznie częste), powinieneś zamiast tego umieścić instrukcje w jednym z plików „login” . Wybierz tylko jeden z plików logowania i użyj go.źródło
1. Otwórz terminal
2. Najpierw możesz po prostu sprawdzić swój bieżący
$PATH
typdo terminalu
3.Jeśli
$PATH
terminal, który zwrócił, jest ścieżką, którą chcesz, to jesteś dobry; jeśli nie, wpisz, a następnie wpisz
, a następnie wpisz
, zobaczysz otwarty EditText, teraz wpisz ścieżkę, którą chcesz w tym EditText; Na przykład wpisz
(co jest domyślnym ustawieniem
$PATH
dla systemu Mac, biorąc pod uwagę, że chcesz go zresetować,$PATH
więc prawdopodobnie powinieneś to wpisać), zapisz go, a następnie zamknij EditText, a następnie zamknij Terminal.4.Teraz zmieniłeś już
$PATH
lub przywróciłeś domyślne ustawienia Maca$PATH
!źródło
touch
jest to wymagane? Ponadto, skoro i tak zamykasz Terminal, po co uruchamiaćexport
wiersz poleceń, a nie tylko dodawać go do~/.bash_profile
(któryexport
też potrzebuje ) i robić to? (Alternatywnie, uruchom,source ~/.bash_profile
aby zastosować zmiany do bieżącego okna.)rc/profile
Pokazane zmiany Chrisa Johnsona również działają dobrze/etc/profile
.Właśnie dołączyłem:
do mojego
/etc/profile
pliku w systemie Mac OS X 10.9 Mavericks, aby dokończyć instalację MariaDB (która działa jako świetny zamiennik MySQL).źródło
Jeśli używasz ZSH - zmienna ścieżki wydaje się na szczęście odzyskiwać po ponownym uruchomieniu sesji terminala.
https://github.com/robbyrussell/oh-my-zsh
https://www.iterm2.com/
źródło