Это сайт — моя персональная записная книжка. Интересна мне, по большей части, история, своя жизнь и немного программирование.

Ненормальный цикл на «баше»

Сегодня в чате бывших коллег на фоне вопросов по одной из вакансий случилось обсуждение на тему что делать, если на собеседовании спросили как написать на «баше» цикл от одного до десяти, а ты не помнишь синтаксис for и команду seq тоже не знаешь.

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

Мой вариант:

4 комментария
Vasilii Amelyushkin 2023

for i in $(echo 1 2 3); do echo $i; done

Евгений Степанищев 2023

Не дописал одно слово — синтаксис for не помнишь.

Алексей 2023

=)
$ yes | head -10 | cat -n | cut -f 1
1
2
3
4
5
6
7
8
9
10

Евгений Степанищев 2023

Годно ))

мимокрокодил 2023

Баш же?

echo {1..10} | tr ' ' '\n'

Евгений Степанищев 2023

Баш, да, но слишком практично ) Душа просит безумств ))

ufm 2023

Тащемта понятие «цикл» подразумевает, что надо выполнить в теле цикла что-то полезное, а не просто вывести числа от 1 до 10.
Но если цель просто заморочиться...
pushd /tmp > /dev/null ;d=`mktemp -d -p .`;cd $d;touch {1..10};find . -type f -name '*' -printf "%f\n"|sort -g ;rm -f *;cd ..;rmdir $d;popd>/dev/null
Впрочем, если в find добавить -exec то можно и запустить чего нибудь 10 раз.

Евгений Степанищев 2023

Понятие «цикл» подразумевает цикл, ничего более. Например, «вечный цикл» может не выполнять ничего полезного.

P. S. Код годный ))