Strona 2 z 2
: 14 października 2011, 11:16
autor: kred9k
Jaką składnia del? Chodziło mi o zmienną
Dobrze, już mam zmienną, źle napisałem. Musiałem napisać tak
Jenak nie działa bo jak naciskam to i tak kasuje ten plik.
: 14 października 2011, 11:32
autor: mariaczi
Czy na pewno teraz masz tak jak tego oczekujesz?
Żebyś się nie zdziwił, jak zobaczysz swój katalog pusty mimo odpowiedzi [Nn].
Zajrzyj tu:
http://4programmers.net/BASH/Instrukcja_case
Dodane:
Tutaj masz jak na tacy, przykład tego co chciałeś uzyskać (no prawie)
http://www.thegeekstuff.com/2010/07/bas ... statement/ w punkcie "Bash Case Example 4. Prompt User with Yes or No"
: 14 października 2011, 12:20
autor: kred9k
Kod: Zaznacz cały
#!/system/bin/bash
for dir in /sdcard/lol/*
do
#del=`rm -R`
read -p "czy usunąć $dir?" answer
case $answer in
[Tt]* ) echo "Skasowano"; rm -f;;
[Nn]* ) echo Nie skasowano;;
esac
done
I co, obie tak jak jest tam napisane i nie działa, a robię identycznie, po pojedynczym średniku jakieś inne polecenie i kicha.
Ze zmienną też nie działa.
Edycja:
Idzie się w tym zamotać. Już mam, dodałem:
Tylko jakoś katalogów z tego katalogu nie chce usuwać.
: 14 października 2011, 16:10
autor: kodama
Może nie męczmy już tego tematu, bo to nie wiem czy jest sens.
Najłatwiej to zamiast:
zrób tak
i będziesz miał załatwione

Ale instrukcje jednak warto czytać. Zwłaszcza, że ta do
rm jakaś wybitnie ogromna nie jest.
: 14 października 2011, 16:49
autor: kred9k
Nie no, nie kończmy tego wątku panowie, ja tu
będę miał dużo problemów pewnie, a po to jest forum żeby pomagać, a więc zrobiłem takie coś:
Kod: Zaznacz cały
#!/system/bin/bash
if [ "$#" != 0 ]; then echo Ok kontynuujemy!; echo; else echo Blad! Podaj folder do kasacji.; exit; fi
for dir in $1/*
do
echo -e "Czy usunac plik $dir?"
read odpowiedz
case $odpowiedz in
[Tt][Aa][Kk] | [Tt]* ) echo Skasowano plik; rm -r "$dir"; echo;;
[Nn][Ii][Ee] | [Nn]* ) echo Nie skasowano pliku; echo;;
[Ww][Yy][Jj][Dd][Zz] | [Ww]* ) echo Koniec skryptu; echo --------------; exit;;
* ) echo; echo Opcje wyboru to: Tak/Nie lub T/N; echo; echo Jesli chcesz wyjsc wpisz Wyjdz lub W; exit;;
esac
done
echo --------------------
echo "Kasowanie Zakonczone"
Mój problem leży teraz w tym, że jeśli wybiorę pusty katalog to pokazuje mi się takie coś:
Jak zamaskować to /*, gdy jest katalog z zawartością to jest w porządku. Najlepiej by było gdyby skrypt powiadamiał, że katalog jest pusty. Próbowałem to zrobić ale nie bardzo wiem jak określić pusty katalog w ,,if''. Czy się widuje to?
: 14 października 2011, 18:53
autor: Bastian
Kolego kred9k:
http://mywiki.wooledge.org/BashGuide
Ta lektura jest dla Ciebie niezbędna.
: 14 października 2011, 21:12
autor: kred9k
bastian, pomoc
pierwsza klasa
, takich książek to już chyba ze cztery przeczytałem
. Jakbym wiedział jak to zrobić to bym nie napisał na forum
.
Udało mi
się wczytać takie coś:
zrobiłem więc tak:
Usuwa te znaki ale co z tego jak później skrypt nie działa jak powinien.
: 14 października 2011, 22:37
autor: fnmirk
kred9k, zacznij używać znaczników ,,code'' i zacznij używać znaków przestankowych. Zainstaluj sobie słownik języka polskiego.