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. :)
Zostaw komentarz