Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Dzień dobry
Zaczęłam naukę programowania w Bash na studiach. Wykładowca pokazał tylko skrypt, gdzie żadne argumenty nie zostały przekazane. Nie powiedział i nie pokazał jak przekazuje się argumenty. Szukałam cały dzień w internecie i nie znalazłam.
Jak przekazuje się np. 2 argumenty z 3 argumentów? Proszę o przykład i wytłumaczenie.
Offline
https://www.gnu.org/software/bash/manual/bash.html#Special-Parameters
http://www.cs.put.poznan.pl/anstroinski/data/upload … ab7-kurs.html
Zmienne specjalne
Zmienne specjalne (ang. special variables, special parameters)
To najbardziej prywatne zmienne powłoki, są udostępniane użytkownikowi tylko do odczytu (są wyjątki). Kilka przykładów:
$0
nazwa bieżącego skryptu lub powłoki
Przykład:
#!/bin/bash
echo "$0"
Pokaże nazwę uruchomionego skryptu.
$1..$9
Parametry przekazywane do skryptu (wyjątek, użytkownik może modyfikować ten rodzaj $-ych specjalnych.
#!/bin/bash
echo "$1 $2 $3"
Jeśli wywołany zostanie skrypt z jakimiś parametrami to przypisane zostaną zmiennym: od $1 do $9. Zobacz co się stanie jak podasz za małą liczbę parametrów oraz jaki będzie wynik podania za dużej liczby parametrów.
$@
Pokaże wszystkie parametry przekzywane do skryptu (też wyjątek), równoważne $1 $2 $3..., jeśli nie podane są żadne parametry $@ interpretowana jest jako nic.
Przykład:
#!/bin/bash
echo "Skrypt uruchomiono z parametrami: $@"
A teraz wywołaj ten skrypt z jakimiś parametrami, mogą być brane z powietrza np.:
./plik -a d
Efekt będzie wyglądał następująco:
Skrypt uruchomiono z paramertami -a d
$?
kod powrotu ostanio wykonywanego polecenia
$$
PID procesu bieżącej powłoki
Ostatnio edytowany przez arecki (2020-10-05 20:08:30)
Offline