Jak uruchomić własny program bez określania jego ścieżki

11

Załóżmy, że coś skompilowałem i działam tak:

$ /path/to/my/executable/mycmd
Hello World

Co muszę zrobić, żeby to uruchomić

$ mycmd
Hello World 

z dowolnego miejsca na moim komputerze?

nacho4d
źródło

Odpowiedzi:

15

To, czego szukasz, to PATHzmienna środowiskowa. Mówi powłoce, gdzie musi szukać programów. Możesz zobaczyć bieżącą wartość tej zmiennej, używając echo:

echo "$PATH"

Teraz ... Najlepszą praktyką, jeśli chcesz użyć nowego programu, jest jego instalacja przy użyciu programu do zarządzania pakietami dla Twojej dystrybucji. Ale w tym przypadku zakładam, że masz do czynienia z programem, który nie jest dostarczany przez żaden dostępny pakiet oprogramowania. W przypadku takich programów masz dwie opcje:

  1. Zainstaluj program w całym systemie, w miejscu, w którym system nie umieszcza żadnych plików zainstalowanych z pakietów. W większości systemów takie „bezpieczne” foldery obejmują /usr/local/bin/i /opt/bin/- te powinny już być w twoim PATH. (Zajrzyj do tych folderów, a jeśli jest w nich wiele plików, to niewłaściwe miejsce na umieszczenie własnego programu i musisz spojrzeć na inne foldery wymienione w twoim PATH.)
  2. Zmodyfikuj swoją PATHzmienną. Jest to mniej bezpieczne, ponieważ definiuje dodatkowe foldery, w których można przechowywać programy, a ktoś może zagrać na tobie, umieszczając tam swój własny program.

    Można zmodyfikować PATHzmienną albo tymczasowo, używając

    export PATH="$PATH:/path/to/your/executable"
    

    (pamiętaj o $PATH później = ) lub na stałe, dodając powyższą linię do .bashrcpliku (zakładając, że używasz bash).

rozcietrzewiacz
źródło