Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Скриптик для linux


Рекомендуемые сообщения

Люди. Хелп! очень прошу помощи!

мне нужно написать скрипт который бы создавал папки на заданное (введенное с клавы) значение в ширину и глубину. ТО есть допустим ширина 3, глубина три. При запуске у нас появляется три папку, в каждой из этой папки свои три папки, соответственно в тех папках еще по три папки.

В ширину я допер как делать. через цикл делал, а вот в глубину не знаю. Помогите плиззз. Уже две недели бьюсь. Я в этом shell плохо разбираюсь как и в программировании. с комментами плиззззз.

очень нужно.

Ссылка на комментарий
Поделиться на другие сайты

Вот скриптик на перле. Помогите , понять его, закоментируйте его построчно.

#!/usr/bin/perl

my $width = $ARGV[0];

my $depth = $ARGV[1];

createdirs($depth, '.');

sub createdirs {

my ($d, $dir) = @_;

my $i;

for($i = 0; $i < $width; $i++)

{

mkdir("$dir/$i", 0777);

if($d > 1)

{

createdirs($d - 1, "$dir/$i");

}

}

}

Ссылка на комментарий
Поделиться на другие сайты

Вот скриптик на перле. Помогите , понять его, закоментируйте его построчно.

Перла не знаю, но интуитивно понятно о чем речь:

#!/usr/bin/perl - путь к интерпретатору языкаmy $width = $ARGV[0]; - видимо присваивание переменным значений переданных параметров. Здесь ширинаmy $depth = $ARGV[1]; - здесь глубинаcreatedirs($depth, '.');  - это видимо вызов процедуры createdirs и передача ей параметра глубиныsub createdirs {		   - сама процедура (начало)my ($d, $dir) = @_;  - х/з что, но вроде присваивания двум переменным значения переданного процедуре (глубина)my $i;  - видимо инициализация переменной счетчика циклаfor($i = 0; $i < $width; $i++) - оператор цикла (i от 0 до значения ширины, с шагом 1){								   - тело цикла (начало)	mkdir("$dir/$i", 0777); - вызов функции создания папки (вот тут странность: вроде как мы $dir делим на $i, но $i сначала у нас = 0, значит "/" - означает видимо вычитание) Причем папка создается с правам 777, те открыт доступ на запись/чтение/поиск для всех	if($d > 1)  - проверка, если $d > 1, то продолжаем, иначе выход	{ 		createdirs($d - 1, "$dir/$i"); - вызов рекурсии	}  - конец проверки} - конец цикла} - конец процедуры

Комментарии очень приблизительные, лучше что б кто-нибудь знающий перл меня поправил :(

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...