elwin013's blog

kawałek sieci młodego geeka

Witaj na moim blogu. Nazywam się Kamil elwin013 Banach. Jestem dwudziestokilkuletnim pasjonatem komputerowym z okolic Zamościa. Aktualnie na emigracji w Warszawie - studia na Wojskowej Akademii Technicznej.

Bash #2: uruchamianie jednego polecenia z różnymi argumentami

Pora na drugi wpis o Bashu. ;) I tym razem kod pisany był dla Świstaka.

Zadanie: Chcemy uruchomić program kilka razy z dwoma parametrami – ale za każdym razem są one inne. Przechowujemy je w pliku parametry.txt w postaci „parametr1|parametr2” (w każdej linii dwa parametry do jednego wywołania programu).

Rozwiązanie:

#!/bin/bash
while read line; 
 do program ${line%|*} ${line#*|} 
done < parametry.txt

Program iteruje linia po linii plik parametry.txt (przekazany do pętli) i w każdej iteracji wywołuje program z określonymi parametrami. Przy pomocy ${line%|*} wycinamy fragment od początku do znaku "|", natomiast przy pomocy ${line#*|} od końca do owego znaku.

Warta zapamiętania jest możliwość przekazania zawartości pliku do pętli, dzięki czemu iterujemy plik linia po linii. :) Prócz tego trzeba zaznaczyć, że dzięki wyrażeniom regularnym tworzenie skryptów w Bashu staje się dużo prostsze. :)

Mam nadzieję, że ten krótki wpis komuś się przyda. :)


Podziel się z innymi!

    Zostaw komentarz