Skrypty użytkownika w katalogu domowym - $HOME/bin


#1

Gdy piszemy własne skrypty lub też używamy skryptów pobranych z sieci, aby zachować porządek warto je trzymać w dedykowanym do tego celu katalogu - zwyczajowo w $HOME/bin (gdzie $HOME oznacza katalog domowy użytkownika np /home/janek )

Aby mieć do nich wygodny dostęp dodajemy katalog $HOME/bin do zmiennej $PATH (ścieżka wyszukiwania).

Możemy to zrobić dodając do pliku .profile (plik ukryty, znajdujący się w katalogu domowym) linię:

export PATH=$PATH:$HOME/bin

Można to wykonać poniższym poleceniem.

echo "export PATH=$PATH:$HOME/bin" >> $HOME/.profile

Po ponownym zalogowaniu sprawdzamy wartość zmiennej $PATH (ścieżka wyszukiwania)

echo $PATH

Zmienna powinna już zawierać ścieżkę do katalogu bin w naszym katalogu domowym.

Od teraz możemy uruchamiać nasze skrypty tak jak każde inne polecenia - bez podawania ścieżki.


#2

Różne szkoły obowiązują w tym zakresie. Ja również mam
~/bin/
a w nim kilka katalogów, przede wszystkim ten ze skryptami. Ale nie dodałem żadnego do ścieżki. Jeżeli chcę, aby jakiś skrypt był wykonywany na podstawie $PATH, to tworzę link’a w
/usr/bin/
Uznałem, na podstawie doświadczeń - również wcześniejszych, w Windows; oraz własnego stylu pracy, że takie rozwiązanie będzie najlepsze. Chętnie jednak usłyszę jakieś krytyczne komentarze, pod jego adresem.


#3

To Linux, zazwyczaj nie ma jednej drogi i każdy robi jak mu wygodnie :slight_smile: Ten sposób, który opisałem jest jak mi się wydaję standardowy czy może bardziej zwyczajowy - podpatrzyłem go gdzieś - pewnie kilkanaście lat temu - i stosuję - dla mnie jest prosty i skuteczny.


#4

Sposób jaki opisałeś @napcok jest tym, z którym spotykałem się najczęściej. Mój, z kolei, jest efektem doświadczeń windows’owych, specyfiki linux’owej i dopasowania do mojego stylu pracy. Nie uważam go za najlepszy, czy jedynie słuszny, bo jak piszesz: ‘To Linux’ - wiele dróg do celu. Wszedłem w Linux’a ze sporym bagażem doświadczeń, dlatego niektóre moje zachowania nie, są mainstream’owe i ciągle staram się być otwarty na ich doskonalenie.