Cześć wszystkim Obecnie mam trudności z napisaniem polecenia w pliku skryptu basha, który po uruchomieniu wyświetli katalogi w mojej ścieżce wyszukiwania w kolejności, w jakiej się pojawiają.
Próbowałem:
SEARCH_PATH=$( $PATH | tr ":" "n")
echo $SEARCH_PATH
ale gdy wykonam plik, wraca z niczym
Próbowałem również:
BASEDIR=$(dirname $0)
echo $BASEDIR
szczerze mówiąc, znalazłem powyższy kod z innego miejsca i pomyliłem się, czym jest dirname i w jaki sposób argument $0
wpływa na to
Każda pomoc jest doceniana!
Odpowiedzi:
2 dla odpowiedzi № 1Brakuje ci echo
polecenie w pierwszym poleceniu:
search_path=$(echo "$PATH" | tr ":" "n")
echo "$search_path"
Nie ma żadnego powodu, by używać zmiennej, możesz po prostu:
echo "$PATH" | tr ":" "n"
Twój kod próbował użyć wartości $PATH
jako polecenie do wykonania.
Należy również unikać używania wielkich liter dla zmiennych powłoki, zgodnie z konwencją te nazwy są zarezerwowane dla zmiennych środowiskowych.