Witam. Mam mały problem ze skryptem w bashu który mi nie działa. Wygląda on tak
#!/bin/bash
while true
do
find /home/konto/p/zdjecia/ -type f -name '*.jpg' | while read
linia; do
cp -f $linia /home/konto/p/nazwa.jpg;
done
sleep 1
done
Tan kod nie dziala. Ma polegać to na tym, że w każdym folderze (tutaj dałem domyślnie dopisany zdjęcia, ale będzie to zastąpione zmienną) jest tylko jeden plik .jpg którego nie znam nazwy. Ma mi go przekopiować do określonego katalogu jakim w tym przypadku jest “p”. Mógłby ktoś sprawdzić co jest nie tak z tym kodem ?
to polecenie znajdzie w katalogu /home/konto/p/zdjecia/ wszystki pliki *.jpeg i skopiuje je do katalogu /home/konto/p. Wazne ze jesli beda dwa pliki o takiej samej nazwie to ten wczesniej znaleziony będzie nadpisany …
Jeszcze nie dopisałem ważnej rzeczy ma mi przypisywać określoną nazwę pliku, która będzie brana ze zmiennej.
To oczywiście jest tylko przykład ale ma to działać na takiej zasadzie.
Mówiąc prościej plik jpg ma mieć taką same nazwę jak folder w którym się znajduję, a potem przekopiować ten plik jpg do katalogu wyżej (czyli tak jak jest w moim przykładzie)
///edit
Utworzyłem już sobie skrypt tylko gdy w nazwę zapisanego pliku wpisuje zmienna to wychodzi mi coś takiego “sdfsfasf ?.nfo” Chodzi o ten znak zapytania dodaje mi go jak wprowadzę zmienna. Kiedy edytuje go w nano przy zapisie zamiast ? mam ^M