The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Скрипт на Shell"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Изначальное сообщение [ Отслеживать ]

"Скрипт на Shell"  +/
Сообщение от GeKo email on 27-Мрт-13, 20:23 
Нужно сделать скрипт на Shell что бы он выполнял 2 вещи:
1. Рекурсивный обход указанного каталога и вывод на экран полных путей поддиректорий.
2. Программа должна обеспечивать возможность установки режима подтверждения.

Вот что у меня получилось:
#new [-i] [prefix]
if [ $# = 0 ]
then echo "i'v done nothing"; exit
fi
if [ $1 = "-?" ]
then echo "use new [-i] [prefix]"; exit
fi
if [ $1 = "-i" ]
then i=1; shift
else i=0
fi
echo "i=$i \$1=$1 \$#=$#"
proga()
#if [ $# = 1 ]
#then
for a in $1/*; do
test -d $a && proga $a
if [ i = 1 ]
then
echo i=$i
echo "vidat' put'? (y,n)"
read k
if [ $k = y ]
then
cd $1
pwd
cd ~
elif [ $k = n ]
then cd ~
fi
else
cd $1
pwd
cd ~
fi
done
#fi
proga $1

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Скрипт на Shell"  +/
Сообщение от pavlinux (ok) on 27-Мрт-13, 20:39 
> Нужно сделать скрипт на Shell что бы он выполнял 2 вещи:
> 1. Рекурсивный обход указанного каталога и вывод на экран полных путей поддиректорий.

find . -type d;

> 2. Программа должна обеспечивать возможность установки режима подтверждения.

Установки режима подтверждения куда и подтверждения чего?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Скрипт на Shell"  +/
Сообщение от GeKo email on 27-Мрт-13, 20:54 
>> Нужно сделать скрипт на Shell что бы он выполнял 2 вещи:
>> 1. Рекурсивный обход указанного каталога и вывод на экран полных путей поддиректорий.
> find . -type d;

а как ему задать параметр с каталогом?

>> 2. Программа должна обеспечивать возможность установки режима подтверждения.
> Установки режима подтверждения куда и подтверждения чего?

нужно или нет выводить пути у директорий.

и еще забыл:
3. При вводе ? знака должна выводится подсказка.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Скрипт на Shell"  +/
Сообщение от PavelR (??) on 27-Мрт-13, 21:44 
>>> Нужно сделать скрипт на Shell что бы он выполнял 2 вещи:
>>> 1. Рекурсивный обход указанного каталога и вывод на экран полных путей поддиректорий.
>> find . -type d;
> а как ему задать параметр с каталогом?
>>> 2. Программа должна обеспечивать возможность установки режима подтверждения.
>> Установки режима подтверждения куда и подтверждения чего?
> нужно или нет выводить пути у директорий.
> и еще забыл:
> 3. При вводе ? знака должна выводится подсказка.

иди методичку почитай, там написано всё.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Скрипт на Shell"  +/
Сообщение от pavlinux (ok) on 28-Мрт-13, 01:53 
>>> 1. Рекурсивный обход указанного каталога и вывод на экран полных путей поддиректорий.
>> find . -type d;
> а как ему задать параметр с каталогом?

find $1 -type d;

>>> 2. Программа должна обеспечивать возможность установки режима подтверждения.
>> Установки режима подтверждения куда и подтверждения чего?
> нужно или нет выводить пути у директорий.

В UNIX такого не бывает. В UNIX добавляют флаг, если нужно поведение отличное от дефолтного.

> и еще забыл:
> 3. При вводе ? знака должна выводится подсказка.

А препод возмет и


mkdir ?

чё будешь делать? :)
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

5. "Скрипт на Shell"  +/
Сообщение от GeKo email on 28-Мрт-13, 06:07 
>[оверквотинг удален]
>> нужно или нет выводить пути у директорий.
> В UNIX такого не бывает. В UNIX добавляют флаг, если нужно поведение
> отличное от дефолтного.
>> и еще забыл:
>> 3. При вводе ? знака должна выводится подсказка.
> А препод возьмет и
>
 
> mkdir ?
>

> чё будешь делать? :)

Спасибо за уроки и за шутки)
А если не сложно что все таки в скрипте не правильно?

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "Скрипт на Shell"  +/
Сообщение от erera22 (ok) on 28-Мрт-13, 16:58 
pp() {
   if [ "$2" -eq 1 ]; then
      echo "Would you like to print path?"
      read p
      test ! -z "$p" || return 0
   fi
  
   echo "$1"
   return 0
}

go() {
   pp "$1/$e" $i
   for e in `ls -a $1/`
   do
      [ "$e" != "." -a "$e" != ".." ] || continue
      if [ -d "$1/$e" -a ! -L "$1/$e" ]; then
         go "$1/$e"
      fi
   done
}

test -d "$1" || exit 1
i=0
test -z "$2" || i=1
go "$1" "$i"
exit 0

Осталось это объяснить преподавателю ;)

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "Скрипт на Shell"  +/
Сообщение от GeKo email on 31-Мрт-13, 10:10 
>[оверквотинг удален]
>          go "$1/$e"
>       fi
>    done
> }
> test -d "$1" || exit 1
> i=0
> test -z "$2" || i=1
> go "$1" "$i"
> exit 0
> Осталось это объяснить преподавателю ;)

Спасибо))
А может все таки кто то глянет что в скрипте не так? а то интересно, и не понятно.

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру