Różnice między wybraną wersją a wersją aktualną.
| Both sides previous revision Poprzednia wersja Nowa wersja | Poprzednia wersja | ||
|
so:shell_constructs [2025/05/13 10:59] jkonczak [test] |
so:shell_constructs [2025/05/19 15:58] (aktualna) jkonczak [read] |
||
|---|---|---|---|
| Linia 449: | Linia 449: | ||
| ''for NUM in $(seq -w 001 3)'' → ''for NUM in 001 002 003'' \\ | ''for NUM in $(seq -w 001 3)'' → ''for NUM in 001 002 003'' \\ | ||
| ''for USERNAME in $(getent passwd | cut -f1 -d:)'' → ''for USERNAME in root student ...'' \\ | ''for USERNAME in $(getent passwd | cut -f1 -d:)'' → ''for USERNAME in root student ...'' \\ | ||
| + | ''for FILE in "$DIR"/*'' → ''for FILE in 'my dir/file 1' 'my dir/file 2' 'my dir/subdir%%'%%'' \\ | ||
| ''for FILE in $(grep -il 'ldap' /etc/*.conf 2>/dev/null)'' → ''for FILE in /etc/autofs.conf /etc/ldap.conf ...''((Uwaga na spacje w nazwach plików! Ta wersja nie jest na nie odporna.)) | ''for FILE in $(grep -il 'ldap' /etc/*.conf 2>/dev/null)'' → ''for FILE in /etc/autofs.conf /etc/ldap.conf ...''((Uwaga na spacje w nazwach plików! Ta wersja nie jest na nie odporna.)) | ||
| Linia 560: | Linia 561: | ||
| ... | ... | ||
| done | done | ||
| - | </code> 1. ''polecenie'' jest wykonywane współbieżnie z pętlą \\ 2. wyniki polecenia mogą mieć spacje w linii |<code bash> | + | </code> 1. ''polecenie'' jest wykonywane współbieżnie z pętlą \\ 2. wyniki polecenia mogą mieć spacje w linii \\ <html><small>Uwaga: tylko jedna z komend z potoku (domyślnie pierwsza) działa <br> pierwszoplanowo, przez co przypisania zmiennych wewnątrz pętli <br> (działającej w tle) nie będą widoczne dalej w skrypcie</small><div style="margin-top: -1.4em"></div></html>|<code bash> |
| while read X Y | while read X Y | ||
| do | do | ||
| Linia 581: | Linia 582: | ||
| wczytanych liczb. | wczytanych liczb. | ||
| + | ~~Zadanie.#~~ | ||
| + | Napisz skrypt który odczytuje ze standardowego wejścia linie złożone z dwóch | ||
| + | liczb i po przeczytaniu każdej linii wypisuje iloczyn liczb z tej linii. | ||
| + | Skrypt ma działać do czasu aż odczytywanie z wejścia nie napotka końca pliku. | ||
| ==== select – rozszerzenie Basha ==== | ==== select – rozszerzenie Basha ==== | ||