To pytanie ma już tutaj odpowiedź:
Piszę tylko małe skrypty C i testuję je. Dlaczego dawka
~ Desktop: gcc test.c -o test ; /Users/xx/Desktop/test ;
działa dobrze
~ Desktop: gcc test.c -o test ; test ;
dawka nie działa? Dlaczego dawka OSX / ZSH potrzebuje pełnej ścieżki do wykonania binarnego?
Odpowiedzi:
Aby móc uruchamiać pliki wykonywalne z bieżącego katalogu, musisz dodać. do zmiennej środowiskowej PATH. Można to zrobić, uruchamiając
PATH=$PATH:.
wewnątrz powłoki lub dodawanieexport PATH=$PATH:.
dla Twojej~/.zshrc
.Inną alternatywą jest przedrostek poleceń, które chcesz uruchomić
./
twoja komendaźródło
.
w twojej PATH jest ogólnie uważany za bardzo zły pomysł. Może to prowadzić do tego, że komendy zachowują się bardzo różnie w zależności od katalogu, w którym byłeś podczas uruchamiania komendy. Może również prowadzić do błędnego uruchomienia złośliwego kodu znajdującego się w bieżącym katalogu (na przykład katalogu, który właśnie rozpakowałeś z pliku do pobrania). Przyzwyczajenie się do używania wiodącego./
jest o wiele lepszy sposób.