Witam,
mam do napisania cos w stylu commandera... ma on wykonywac proste czynnosci... cos mam zle, ale nie potrafie znaleŹĆ bledu... POMOCY
#!/bin/bash
function lista
{
echo ls
}
function istnieje
{
echo "podaj nazwe pliku/katalogu: "
read nazwa
x=`ls -d $nazwa`
y=`ls -f $nazwa`
if [ $x -eq $nazwa ];
then
echo "To jest katalog i ma nastepujace uprawnienia: "
uprawnienia=`ls -l $nazwa`
echo $uprawnienia
elif [ $y -eq $nazwa ];
then echo "To jest plik i ma nastepujace uprawnienia: "
uprawnienia=`ls -l $nazwa`
echo $uprawnienia
elif
echo "Nie ma takiego pliku/katalogu. Czy chcesz go utworzyc? 1 (tak), 2 (nie)."
read u
if [ $u - eq 1 ];
then echo "Chcesz utworzyc plik, czy katalog? 1-plik ; 2-katalog "
read pk
echo "Podaj jego nazwe: "
read pkn
if [ pk -eq 1 ];
then touch $pkn
elif [ pk -eq 2 ];
then mkdir $pkn
fi
}
function przenies_kopiuj
{
echo "Podaj nazwe pliku lub katalogu: "
read nazwa2
xx=`ls -d $nazwa2`
yy=`ls -f $nazwa2`
if [ $xx -eq $nazwa2 ];
then echo "To jest katalog - 1 (przenies), 2 (kopiuj)"
read przeko
echo "Podaj sciezke docelowa: "
read sciezka
if [ $przeko -eq 1 ];
then mv -f $nazwa2 $sciezka
elif [ $przeko -eq 2 ];
then cp -R -f $nazwa2 $sciezka
fi
if [ $yy -eq $nazwa2 ];
then echo "To jest plik - 1 (przenies), 2 (kopiuj)"
read przeko
echo "Podaj sciezke docelowa: "
read sciezka
if [ $przeko -eq 1 ];
then mv -f $nazwa2 $sciezka
elif [ $przeko -eq 2 ];
then cp -f $nazwa2 $sciezka
fi
}
#main
for (( ; ; ));
do
echo " "
echo "Witaj w mini-commanderze, wybierz czynnysc, ktora chcesz wykonac przypisana pod dana cyfre: "
echo "1 - Wyswietl liste aktualnego katalogu"
echo "2 - Sprawdz, czy istnieje jakis plik/katalog. Jesli nie, to czy go utworzyc. Jesli tak, to jakie ma prawa"
echo "3 - Przenies lub kopiuj plik/folder"
read funkcja
case "$funkcja" in
"1") lista ;;
"2") istnieje ;;
"3") przenies_kopiuj ;;
*) echo "Wybrales zly klawisz..."
esac
done