Jak znaleźć katalog, w którym skrypt bash znajduje się z skryptu
Podczas skryptów Bash możesz wymagać lokalizacji skryptu do automatyzacji różnych zadań. Istnieją dwa rodzaje ścieżek w Linux:
Jednym z najczęstszych sposobów określenia lokalizacji skryptu BASH jest użycie PWD Komenda. PWD Komenda (Drukuj katalog roboczy) pokaże obecny katalog.
Tak więc w wielu sytuacjach po prostu używając PWD polecenie nie działa, ponieważ daje tylko ścieżkę obecnie działającego katalogu.
Na przykład, jeśli skrypt jest w Pliki katalog i wykonywane z Pulpit wtedy wyjście będzie zawierać /home/usr/komputer nie jest to lokalizacja pliku skryptu BASH /home/usr/pobieranie.
Ten samouczek polega na uzyskaniu ścieżki katalogu, w którym plik skryptu Bash znajduje się z skryptu.
Jak uzyskać ścieżkę katalogu, w której znajduje się plik skryptu bash
Innym sposobem określenia katalogu skryptu BASH jest użycie Dirname Komenda. Dirname Polecenie wykonuje ścieżkę pliku jako argument i zwraca część katalogu ścieżki.
Używać Dirname polecenie określenia katalogu skryptu, nazywasz polecenie ścieżką do ostatniego komponentów nie-slash do skryptu jako argument.
Aby uzyskać więcej informacji na temat Dirname Wykonaj następujące polecenia w terminalu:
$ man Dirname
Tylko Dirname nie będzie działać, potrzebujemy kolejnego polecenia Readlink. Readlink Wydruk poleceń Rozstrzygnął symboliczny link. Uzyskaj więcej informacji o tym poleceniu, uruchamiając:
$ Man Readlink
Teraz, Utwórz skrypt:
$ sudo nano myscript.cii
I wpisz:
#!/bin/bash
echo „The Bash Script Path to $ (dirname -„ $ (readLink -f - „$ 0”) ”;)”;
Aby uruchomić skrypt, użyj:
$ bash myscript.cii
Zmieńmy katalog i zobaczmy, jakie jest wyjście:
Notatka: W jednym przypadku powyższy skrypt nie zadziała, jeśli plik jest pozyskiwany zamiast wykonywania, jak można go zobaczyć w następującym wyjściu:
Wyjście jest /dom/sam/komputer podczas gdy plik skryptu jest obecny w /Home/Sam informator.
Wniosek
Podsumowując, istnieje wiele sposobów określenia katalogu skryptu bashu z samego skryptu. Dirname wraz z Readlink Narzędzie można użyć do określenia katalogu skryptu. Jednak po prostu używanie PWD polecenie nie działa, ponieważ daje tylko obecnie działający katalog.