środa,
Bash: Wynik polecenia do zmiennej
W skryptach bash często występuje potrzeba zapisania wyniku polecenia do zmiennej, uzyskane dane można wtedy użyć w kolejnych operacjach. Istnieją dwa główne sposoby, aby to zrobić: przy użyciu backticków () lub przy użyciu składni
$(...). Zalecane jest korzystanie z
$(...)`, ponieważ jest to bardziej elastyczna i bezpieczna metoda, szczególnie w mocno skomplikowanych skryptach.
Użycie backticków
wynik=`polecenie`
Ta metoda jest starsza i choć nadal działa, ma pewne ograniczenia, na przykład sprawia trudności z zagnieżdżaniem.
Użycie $(...)
wynik=$(polecenie)
Jest to bardziej nowoczesne i preferowane podejście. Jest czytelniejsze, szczególnie przy zagnieżdżaniu poleceń.
Przykład
Aby zapisać wynik polecenia ls
do zmiennej, możesz zrobić tak:
lista_plikow=$(ls)
Lub, aby zapisać informacje o pamięci systemu do zmiennej:
meminfo=$(grep MemTotal /proc/meminfo)
Następnie możesz użyć tej zmiennej w skrypcie. Na przykład, aby wyświetlić zapisaną wartość, użyjesz:
echo $meminfo