Nowe posty

xx Problem ze sterownikami. (5)
2024-04-13, 21:25:16
xx Instalacja xfce4 (2)
2024-04-13, 16:20:17
xx Serie kompilacji bez instalacji dla “emerge” w Gentoo (2)
2024-04-08, 18:40:04
xx Plasma 6 w Neonie ssie trochę mniej ... (17)
2024-04-05, 10:03:46
xx Problem z Linux Lite po instalacji (3)
2024-04-03, 14:23:40
xx Jak właczyć num locka przy starcie systemu debian 12? (12)
2024-04-02, 17:43:54
xx Brak dźwieku w systemie. (5)
2024-04-02, 16:13:41
xx Dystrybucja pod HP Omen (7)
2024-03-29, 11:33:05
xx [Poradnik] Wyszukiwanie Sterowników (2)
2024-03-27, 21:08:23
xx Ile pingwinów? (1)
2024-03-27, 08:59:24

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]