Bashfuck
«…fuck» — это не ругательство, а развлечение, навеянное знаменитым языком программирования «Brainfuck». Практического смысла никакого, правила просты — написать программу на каком-либо языке программирования, не используя буквы и цифры. Уровень повышенной сложности — использовать для программы не все доступные закорюки, а сильно ограниченное количество, например, только пять любых на выбор.
JSFuck у меня в блоге был, PHPFuck — тоже, был даже совмещённый в одной программе JSFuck и Brainfuck, почему бы не попробовать сделать то же на «Баше»?
__=${_##*/} ___=${#__}
__=($__ $(${__:$(($___-${#___}))}${__:${#___}:$___}) $__)
____=${__::$((${#__}-${#___}))}${__[$___]::${#___}}${#__[@]}${#__}
_____=$($____<<<${__[@]}) ______=${_____:${#__[${#__}]}:${#___}}
______=${______,}${__[${#_}]:${#___}:${#___}}${__[$(($___-${#___}))]:${#_}:${#___}}
_______=$($____<<<$_____)
____=${__[${#______}]:${#______}:${#___}} ____=$____$____
__=${__[${#_}]:${#______}}${__[$___]:${#_}:${#___}}$____${_____:$((${#__[@]}+${#__[$___]})):${#___}}
__=$__' '${_______::${#___}}${__:$___}${_____:$((${#_____}>>${#___})):${#___}}
__=$__${____:${#___}}${_______:$(($___+${#______})):${#___}} __=${__,,}
$______<<<${__^}
Сказано — сделано, собственно. Программа на «Баше», что выше, выводит фразу «Hello world», её исходники можно свободно скачать с «ГитХаба».
Что-то не фурычит. ubuntu linux.
$ bash 1.sh
1.sh: строка 4: basb54: команда не найдена
1.sh: строка 6: basb54: команда не найдена
1.sh: строка 11: aп: команда не найдена
Комментарий для alxt:
Ну что ж сделаешь, значит не фурычит, я же не могу отладить его у вас в системе :) У меня на «Маке» (bash 4.3.30) и на CentOS 6.6 (bash 4.1.2) — фурычит.
Red Hat Enterprise Linux Server release 6.5, bash 4.1.2(1) — работает.
Комментарий для Евгения Степанищева:
а зачем слово «свободно» было выделять красным?
работает, в zsh не запустилось :)
Комментарий для hshhhhh.name:
На d3.ru так принято сарказм выделять (это распространённый там мэм).
В zsh и не должно, это для «Баша», написано же :)
Комментарий для Евгения Степанищева:
meme — мэм?!
Комментарий для жидобандера:
В спешке опечатался. «Мем», конечно.
кстати, не видели это https://github.com/Ky6uk/PETOOH ?
Комментарий для Иван:
Видел, только не интересно же. Например у «Ook!» или «COW» ровно та же идея: https://ru.wikipedia.org/w/index.php?title=Brainfuck%26redirect=no#.D0.AF.D0.B7.D1.8B.D0.BA.D0.B8_.D0.BD.D0.B0_.D0.BE.D1.81.D0.BD.D0.BE.D0.B2.D0.B5_Brainfuck