Нужно сделать скрипт на 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
> Нужно сделать скрипт на Shell что бы он выполнял 2 вещи:
> 1. Рекурсивный обход указанного каталога и вывод на экран полных путей поддиректорий.find . -type d;
> 2. Программа должна обеспечивать возможность установки режима подтверждения.Установки режима подтверждения куда и подтверждения чего?
>> Нужно сделать скрипт на Shell что бы он выполнял 2 вещи:
>> 1. Рекурсивный обход указанного каталога и вывод на экран полных путей поддиректорий.
> find . -type d;а как ему задать параметр с каталогом?
>> 2. Программа должна обеспечивать возможность установки режима подтверждения.
> Установки режима подтверждения куда и подтверждения чего?нужно или нет выводить пути у директорий.
и еще забыл:
3. При вводе ? знака должна выводится подсказка.
>>> Нужно сделать скрипт на Shell что бы он выполнял 2 вещи:
>>> 1. Рекурсивный обход указанного каталога и вывод на экран полных путей поддиректорий.
>> find . -type d;
> а как ему задать параметр с каталогом?
>>> 2. Программа должна обеспечивать возможность установки режима подтверждения.
>> Установки режима подтверждения куда и подтверждения чего?
> нужно или нет выводить пути у директорий.
> и еще забыл:
> 3. При вводе ? знака должна выводится подсказка.иди методичку почитай, там написано всё.
>>> 1. Рекурсивный обход указанного каталога и вывод на экран полных путей поддиректорий.
>> find . -type d;
> а как ему задать параметр с каталогом?find $1 -type d;
>>> 2. Программа должна обеспечивать возможность установки режима подтверждения.
>> Установки режима подтверждения куда и подтверждения чего?
> нужно или нет выводить пути у директорий.В UNIX такого не бывает. В UNIX добавляют флаг, если нужно поведение отличное от дефолтного.
> и еще забыл:
> 3. При вводе ? знака должна выводится подсказка.А препод возмет и
mkdir ?
чё будешь делать? :)
>[оверквотинг удален]
>> нужно или нет выводить пути у директорий.
> В UNIX такого не бывает. В UNIX добавляют флаг, если нужно поведение
> отличное от дефолтного.
>> и еще забыл:
>> 3. При вводе ? знака должна выводится подсказка.
> А препод возьмет и
>
> mkdir ?
>
> чё будешь делать? :)Спасибо за уроки и за шутки)
А если не сложно что все таки в скрипте не правильно?
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Осталось это объяснить преподавателю ;)
>[оверквотинг удален]
> go "$1/$e"
> fi
> done
> }
> test -d "$1" || exit 1
> i=0
> test -z "$2" || i=1
> go "$1" "$i"
> exit 0
> Осталось это объяснить преподавателю ;)Спасибо))
А может все таки кто то глянет что в скрипте не так? а то интересно, и не понятно.