Forum Linux.pl

Programowanie => Bash, skrypty powłoki => Wątek zaczęty przez: bourbon w 2007-10-31, 23:57:19

Tytuł: tworzenie nowych plików o nazwach podanych w "liście"
Wiadomość wysłana przez: bourbon w 2007-10-31, 23:57:19
Witam, czy może mi ktos pomóc w konstrukcji polecenia, które będzie tworzyło nowe pliki (touch $) w zadeklarowanym katalogu, o nazwach jakie wpisaliśmy do "listy", tj. osobny plik w którym wpisałem dowolne nazwy przyszłych plików (nazwa[enter]).
Czy uruchamianie takiego skryptu wymagać będzie, jakiegoś specjalnego parametru wywołania ?
Tytuł: tworzenie nowych plików o nazwach podanych w "liście"
Wiadomość wysłana przez: coobba w 2007-11-01, 08:41:10
LISTA=`cat moj_plik_z_nazwami`
for PLIK in $LISTA ; do
     touch $PLIK
done
Tytuł: tworzenie nowych plików o nazwach podanych w "liście"
Wiadomość wysłana przez: jk33 w 2007-11-01, 18:24:38
Cytat: coobba
LISTA=`cat moj_plik_z_nazwami`
for PLIK in $LISTA ; do
     touch $PLIK
done
Tylko po co, skoro touchowi można podać kilka plików w argumentach?

..i co się stanie, jeśli w nazwie pliku będzie spacja?
(podpowiedź: zmienna IFS)
Tytuł: tworzenie nowych plików o nazwach podanych w "liście"
Wiadomość wysłana przez: bourbon w 2007-11-05, 13:01:21
A jeśli plik z nazwami ma być wywoływany podczas uruchamiania skryptu, a nie wpisany w sam skrypt ?
Tytuł: tworzenie nowych plików o nazwach podanych w "liście"
Wiadomość wysłana przez: xavery w 2007-11-05, 16:11:54
Wtedy używasz zmiennej pozycyjnej np $1 jeśli będzie to pierwszy argument
Tytuł: tworzenie nowych plików o nazwach podanych w "liście"
Wiadomość wysłana przez: coobba w 2007-11-05, 20:44:44
Cytat: jk33
Tylko po co, skoro touchowi można podać kilka plików w argumentach?
Bo powoli myślę, zwłaszcza rano, sorry...