Nowe posty

Pokaż wiadomości

Ta sekcja pozwala Ci zobaczyć wszystkie wiadomości wysłane przez tego użytkownika. Zwróć uwagę, że możesz widzieć tylko wiadomości wysłane w działach do których masz aktualnie dostęp.


Pokaż wątki - bercikrk

Strony: [1]
1
Bash, skrypty powłoki / Bash - skrypt pętla for, if i foldery
« dnia: 2021-06-23, 14:41:54 »
Cześć Wszystkim

Mam problem z ogarnięciem porównania nazw folderów i wykonania od[powiednich komend

W moim lunuxie jest folder /var/chroot gdzie mam 300 folderwów 4 znakowych (tylko duże litery) oraz ok 30 z nazwą 2 częściową

ABCD
ABDC
DCBA
BCDA
ACDB
nazwa_cos1
nazwa_cos2
nazwa_cos3

próbóję wykonać taki skrypt

for dir in `find /var/chroot/ -mindepth 1 -maxdepth 1 -type d`

do
       if [ $dir = /var/chroot/nazwa_* ]; then
       continue
        #pomijam ten folder przy operacjach i przechodzę dalej
else

    cd $dir
    zip -r 202101.zip *.csv
    rm -f *202101.csv
fi

 done

skrypt ma znaleźć folder nazwa_cos i pominąć w wykonywaniu operacji, ale dla pozostałych  ma wykonać polecenia. Min takie jak powyżej

problem jest w argumentach if [ $dir = /var/chroot/nazwa_* ]; then nie umie znaleźć to czego chcę i mimo wszystko wykonuje polecenia

Jak pokazać, że dla tych folderów nie ma nic wykonywać a przede wszystkim je znaleźć bo tych dwóch elementów nie umiem opanować w tym skrypcie.

próbowałęm takich ustawień  if [ -d ], wstawić zmienne dir=`find /var/chroot/ -mindepth 1 -maxdepth 1 -type d` i dir1=find /var/chroot/ -mindepth 1 -maxdepth 1 -type d -name "*nazwa_*"

dla większości przypadkó mam info zbyt dużo argumentów

Proszę o instrukcję, wskazówki, pomoc jak to wykonać

Z góry dziękuję
Pozdrawiam
Bercik

Strony: [1]