Bash - wynajdowanie wszystkich plików png w katalogu


(Lisiornik) #1

Witam ponownie ;]

Chciałem napisać sobie skrypt, który wszystkie pliki *.png z folderu /home/xyz przeniesie mi do /home/xyz/Pictures. Skrypt Wygląda tak:

#!/bin/bash

echo "Skrypt przeczyści Twoj katalog domowy."


echo "Przeszukiwanie katalogu w poszukiwaniu obrazów"

if [-e ~/*.png]

then

  echo "W Katalogu Home są pliki portable network graphics"

echo "Przenoszę"

mv ~/*.png Pictures

sleep 0.5

fi

Wyrzuca mi błąd:

Skrypt przeczyści Twoj katalog domowy.

Przeszukiwanie katalogu w poszukiwaniu obrazów

[: 11: /home/xyz/zrzut_ekranu-5.png: unexpected operator

Mogę dodać że jeśli *.png zastąpie nazwą konkretnego pliku, skrypt przenosi go w odpowiednie miejsce.

Ma ktoś pojęcie jak doprowadzić to do uzytku? Z góry wielkie dzięki.


(Sawyer47) #2

Nie ma co tak kombinować, wystarczy

mv *.png /destination/

(Lisiornik) #3

@edit Rzeczywiście. Temet wciąż otwarty, jeśli ktoś wie czemu kod z pierwszego posta wyrzuca błąd to chętnie się dowiem ;p

W gruncie rzeczy moim celem nie jest przekopiowanie sobie jakiśtam pngów, chciałem trochę pokombinować a że natrafiłem na przeszkodę to spamuję na forum :stuck_out_tongue_winking_eye:

Dzięki


(Sawyer47) #4

A jaką masz powłokę i w jakiej wersji? U mnie zarówna na bashu 4,1.5 jak i dashu 0.5.5.1 Twój kod działa.


(Lisiornik) #5

Ehh, te png wczesniej były kopiowane przez konsole z Windowsowskiej partycji z konta roota więc należały do niego. I właśnie dlatego nie mogłem userem ich ruszyć ;]