думаете если он шелл не осилил, то с руби ситуация сложилась иначе? Да что-то...как-то...как-то я сомневаюсь...
Думаю, ТС просто школьник который по дури скачал учебник по руби и теперь носится тут с ним как проповедник с библией среди папуасов и кричит «Истину! Истину глаголю я вам - вот ответ на все мольбы ваши, заблудшие чернопопые братия!»
В принципе, я так же делал когда узнал про zsh, но с тех пор я стал старше на 2 месяца и меня отпустило.
Но подозреваю в итоге вы свой лозунг
«Фу! Опять башевские костыли! Закопать!»
просто переделаете в
«Фу! Опять зедшеловские костыли! Закопать!»
Если прёт руби то делайте на руби, хотя на данном этапе именно ваши руби варианты и есть монструозные костыли.
Знание модых языков/шеллов не отменяет знание матчасти.
Оно по ссылкам на костыли меньше похоже чем баш, да синтактического сахара в zsh больше чем в баше, а это именно то чего в баше не хватает.
Кстати, есть шелл fish, так вот, там конструкция выглядит вот так:
for i in (find | grep [Aa]); echo $i; end
Вот только правда проект заброшен автором :(
именно ваши руби варианты и есть монструозные костыли.
Именно по этому я и создал тему, просто как то понадобилось, а find со своими пробелами все портил, а руби сразу со своим split(/\n/) заманил к себе :)
что касается именно циклов то они в zsh выглядят проще чем в bash - не обязательно указывать do/done
for i (/home/**/{hot,porn}*) rm $i
(это думаю понятно - удалить из /homе и всех вложенных каталогов)
или так
for i in /**/{cold,porn}*(u:babusha:); rm $i
(удалить начиная с корня, принадлежащие пользователю babusha)
Если хочется без цикла то
можно просто rm /home/**/{hot,porn}*
но если коллекци большая то
rm скажет argument list is too long.
Тогда можно через
zargs — /**/b*(u:babusha:) — rm