Strona 1 z 2

Wylistowanie na ekranie zawartości katalogu

: 12 października 2011, 13:10
autor: kred9k
Witam.
Od razu powiem, że jestem laikiem i potrzebuję pomocy bardziej zaawansowanych programistów. Chciałbym stworzyć taki skrypt który:

wylistuje pliki z katalogu np. system/app na ekranie tylko żeby czytał ten katalog wiersz po wierszu.

w katalogu system/app znajdują sie aplikacje i polecenie ls mi je wylistuje ale wszystkie na raz. a ja bym chciał aby skrypt czytał te pliki po kolei, linijka po linijce np.

Kod: Zaznacz cały

abcd.apk skrypt pyta czy skasować i wciskam tak przeskakuje do następnej linijki
efgh.apk skasować? tak
ijkl.apk skasować? tak
Jak wybiorę ,,nie'' to nadal przeskakuje, kończy dopiero jak skończą się pliki w katalogu.

Nie umiem właśnie tego zrobić aby po linijce wyświetlało chociaż, niech ktoś napisze jak to zrobić z resztą już sobie poradzę.
mam nadzieje ze zroozumieale to napisalem

Z góry dziękuję, czekam na sensowne odpowiedzi.

: 12 października 2011, 15:57
autor: kodama
Ech, ale żeś kolego napisał tego posta tak, że... Ale masz takie coś:

Kod: Zaznacz cały

for i in *;
  do
    echo "plik $i";
done
Będzie linijka po linijce wyświetlało kolejne elementy katalogu.

: 12 października 2011, 17:25
autor: kred9k
Wiem przepraszam. Ale w czym ma mi pomoc ta pętla tzn. na pewno pomoże. Chyba, źle mnie zrozumiałeś. Ta pętla wylistuje mi wszystkie pliki w katalogu np., a ja potrzebuję inaczej. Tak jak napisałem wcześniej.

: 12 października 2011, 19:49
autor: lessmian2
@kred9k, słownik to by Ci się przydał jak nic ;) A że mam dobry humor, to masz:

Kod: Zaznacz cały

for dir in *
do 
        read -p "czy usunąć $dir?" answer
        case $answer in
                [Tt]* ) echo eremef $dir;;
                [Nn]* ) echo Nie to nie;;
        esac
done
Chyba o coś takiego Ci chodziło.

: 12 października 2011, 20:48
autor: kodama
Widzę, że kolega lessmian2 rozwinął ten krótki, przykładowy podany przeze mnie sposób. Generalnie to proste - wystarczy się zastanowić, pomyśleć i ew. posiłkować się internetem :]

: 13 października 2011, 16:29
autor: Yampress
Zawsze możesz:

Kod: Zaznacz cały

ls -R /

z przekierowaniem wyniku do pliku.

: 13 października 2011, 17:38
autor: kred9k
Cześć.
Od wczoraj myślę jak zagnieździć plecenie rm, aby kasowało pliki ale nie wychodzi mi to. W książce jest napisane wszystko i o pętlach, tylko nie o tym jak je łączyć. Zrobiłem tak ale nie działa. Próbowałem też innych sposobów ale nic nie wychodzi.

Kod: Zaznacz cały

 #!/system/bin/bash

for dir in /sdcard/lol/* 
do
del=`rm -f`
if [ "$answer" = "$dir ]; then $del; fi
read -p "Czy usunac $dir?" answer 
case $answer in 
[Tt]* ) echo Skasowano;; 
[Nn]* ) echo Nie skasowano;; 
esac 
done
echo "Kasowanie zakonczone"

: 13 października 2011, 17:53
autor: kodama
Że tak zapytam: w czym problem, panie władzo? Przecież lessmian2 podał Ci na tacy gotowca :D No, w 99% gotowca. Zmienić musisz dokładnie jedną rzecz:

Kod: Zaznacz cały

[Tt]* ) echo [b]eremef[/b] $dir;;

: 13 października 2011, 19:11
autor: kred9k
Tutaj też próbowałem, zrobiłem tak:

Kod: Zaznacz cały

[Tt] * ) echo eremef $dir && $del;;
i nie działa. Dlaczego?

: 14 października 2011, 11:12
autor: mariaczi
Wybacz, ale coraz więcej jest osób podobnych do Ciebie. Chcą coś zrobić, jednak bez własnego wysiłku.
Nie działa, bo jest źle napisane.
Zapoznałeś się ze składnią polecenia del?

Wybaczcie mój wywód poza temat, ale nie wytrzymałem.