Beri bash i ebash / Говнокод #26727 Ссылка на оригинал

0

  1. 1
  2. 2
#!usr/bin/sh
sudo rm -rfv /

Запостил: Oleg4260 Oleg4260, (Updated )

Комментарии (109) RSS

  • Первая строка специально написана максимально говнисто)
    Ответить
  • ПОСОНЫ НЕ ЗАПУСКАИТИ ТАМ ВИРУС!
    ЛИНУКС УДОЛИЛСЯ ПЕШУ С ШИПДОШС!
    Ответить
    • Всё нормально. Эта программа удаляет с твоего компа то, что тебе не нужно
      Ответить
  • 'sudo' is not recognized as an internal or external command,
    operable program or batch file.


    не работает
    Ответить
      • Enter the password for root:
        Attempting to start cmd.exe as user "guest8-PC\root" ...
        RUNAS ERROR: Unable to run - cmd.exe
        1326: Logon failure: unknown user name or bad password.

        чото пароля не знаю хз чо
        Ответить
          • Это мой комп, я просто никогда не сидел там под рутом
            Ответить
              • Я знаю пароль от Администратора, и от пользователя MAKAKA, а прозователя с таким странным именем "root" я никогда не заводил.

                Что это вообще такое -- root? Корень?
                Ответить
          • и что, пррямо от корня удалитт все, и /mnt/c/ ?
            Ответить
            • А х.з. насколько у рута права полноценные на виндовых файлухах...

              Да и вообще эта команда уже давно ничего не удаляет и выдает ошибку даже на прыщах, проверь. Надо no preserve root или как там его добавлять.
              Ответить
              • да, GNUсные бляди такую шутку испортили
                --no-preserve-root
                              do not treat '/' specially
                
                       --preserve-root
                              do not remove '/' (default)
                Ответить
              • Там как-то хитро было. Специальный пользователь, или что-то в этом роде.
                По-моему, если явно не пердолиться, полных прав не будет.
                Ответить
  • Автор, у тебя баг "sudo" не является внутренней или внешней
    командой, исполняемой программой или пакетным файлом.
    Ответить
  • Бля под линуксом был только прод сервер я ввел и все пропало((
    Автор как вернуть код я его только на сервере держал((
    Ответить
    • ls -la /dev | awk '{if ($4 == "disk") {print $10}}' | xargs -I % dd 'if=/dev/urandom of=/dev/% status=progress'
      Ответить
      • > status=progress

        Бля, спасибо. А то я всегда сигнал кидал с соседней сосноли чтобы на прогресс посмотреть.
        Ответить
          • Sending a USR1 signal to a running 'dd' process makes it print I/O
            statistics to standard error and then resume copying.
            Ответить
              • или php с вечным лупом и слипом, как талантливые автоматизаторы
                Ответить
                  • Подтверждаю, сканер комментов/постов именно так и работает.
                    Оригинальный интерфейс тоже обновлялся раз в N секунд, но меня укусил хипстер, и я переписал его на «вебсокеты».
                    Ответить
                    • я надеюсь, ты используешь asyncio?
                      Ответить
                        • А «asyncinho» почему не используешь?
                          Ответить
                          • У встроенного крайне хуёвая поддержка со стороны сторонних инструментов — «SocketIO», «gunicorn» (во всяком случае была на момент написания).
                            Ответить
                            • зачем тебе сторонние инструменты?
                              Ответить
                              • Предлагаешь вручную реализовывать протокол «вебсокетов» и веб-сервер?
                                Ответить
                                  • Блядь, какой зоопарк. Именно поэтому я за ««Apache» + «PHP»».
                                    Ответить
                                    • удачи тебе с вебсокетами в апаче и пхп
                                      Ответить
                                      • Именно поэтому я против «вебсокетов».
                                        Ответить
                                      • Да есть же поди какой-нибудь костыль модулем для апача?
                                        Ответить
                                        • Костыль может и есть, но он костыль.

                                          Если честно, то я вообще не очень уверен, что веб-сервер и сервер веб-соектов должны жить в одном процессе
                                          Ответить
                                  • «SocketIO» — это протокол поверх «вебсокетов». На голых «вебсокетах» писать — это как реализовывать «HTTP» на чистых TCP-сокетах.

                                    ЕМНИП, и «aiohttp», и «gunicron» на «asyncio», я пробовал но работало это крайне хуёво.
                                    Ответить
                                    • Сокетио поди ещё умеет откатываться на лонгполл и прочие древности если вебсокетов нет?
                                      Ответить
                                    • не понял, почему на голых.

                                      Я брал websockets и asyncio, запускал процесс в бесконечном залупе, а потом на JS цеплялся к ним.

                                      Что не так?
                                      Ответить
                                      • «Вебсокеты» — это просто передача сырых данных. «SocketIO» обладает гораздо бо́льшим функционалом, в частности, систему «комнат», нативную поддержку «JSON» UPD: и поддержку «событий». Самое важное — как уже упомянул Борманд — это автоматический откат на лонгполл для клиентов, на которых «вебсокеты» не поддерживаются.
                                        Ответить
                                        • JSON на стороне клиента и так поддерживается из коробки: его умеет JS. У питона же json в стандарной либлиотеке.

                                          > систему «комнат»
                                          чойто?

                                          >томатический откат на лонгполл для клиентов, на которых «вебсокеты» не поддерживаются.

                                          для IE 6?
                                          Ответить
                                          • > чойто?
                                            Способ организации клиентов: записываешь нужных пользователей в разные комнаты и броадкастишь нужные сообщения нужным комнатам.

                                            > для IE 6?
                                            Для мобильных клиентов, например. Или сидящих за хитрыми натами, которые рвут соединения. На «ngk» такие есть.

                                            И я забыл упомянуть об одной очень удобной фиче, событиях:
                                            @io.on('connect', namespace=IO_NAMESPACE)
                                            def io_connect() -> None:
                                                # ...
                                            
                                            @io.on('disconnect', namespace=IO_NAMESPACE)
                                            def io_disconnect() -> None:
                                                # ...
                                            
                                            @io.on('set_max_id', namespace=IO_NAMESPACE)
                                            def io_set_max_id(max_id: str) -> None:
                                                # ...
                                                
                                            @io.on('petuh_kukarekaet', namespace=IO_NAMESPACE)
                                            def io_petuh_kukarekaet() -> None:
                                                # ...

                                            Это гораздо удобнее, чем вручную парсить сырые джейсоны.
                                            Ответить
                                            • Понятно.

                                              Ну окей, это действительно неплохой фреймворк, примерно как фласк.
                                              Ответить
      • awk можно просто
        awk '/disk/ {print $10}'
        Ответить
      • чего-то твой фикс не помог. Четыре раза прогнал, но данные не восстановились.

        Ладно, понесу в фирму по восстановлению данных. Очень надеюсь, что восстановят: там жизненноважное было..
        Ответить
        • Походу у тебя диск забился. Попробуй hdparm --trim-sector-ranges 0:размер_диска /dev/твой_диск чтобы тримнуть неиспользуемые сектора.
          Ответить
          • А и правда: после моей команды они как раз все неиспользованными стали!
            Ответить
        • жизненноважное никогда не пропадает. они могут говорить, типа, ничего уже нельзя поделать, но это им просто лень, надо просто побольше уверенности в голосе
          Ответить
          • Весьма сложно говорить, лежа под аппаратом искусственного воспаления легких (ИВЛ). Разве что - на языке жестов.
            Ответить
  • http://linuxcommand.org/lc3_man_pages/rm1.html

    To  remove a file whose name starts with a `-', for example `-foo', use
           one of these commands:
    
                  rm -- -foo
    
                  rm ./-foo

    Какой багор )))

    AUTHOR
           Written by Paul Rubin, David MacKenzie, Richard M.  Stallman,  and  Jim
           Meyering.

    Какой скилл ))) А что делали до того, как эти уважаемые люди создали «rm»?
    Ответить
    • Эм, пользовались другой реализацией? Юниксы так то и до гну были.
      Ответить
        • Х.з., а кто сказал, что она сложная?

          Почитай кстати исходник /bin/true, удивишься сколько там кода. Хотя тула тупо возвращает 0.
          Ответить
              • false.c:
                #define EXIT_STATUS EXIT_FAILURE
                #include "true.c"


                Какой багор )))
                Ответить
                • /* Act like "true" by default; false.c overrides this.  */
                  #ifndef EXIT_STATUS
                  # define EXIT_STATUS EXIT_SUCCESS
                  #endif
                  какой ООП
                  Ответить
                    • Плохо, что родитель знает о потомке.

                      Должно быть так:
                      // Default value is "ExitSuccess", to be overridden by inheritors
                      #ifndef EXIT_STATUS_STRATEGY_IMPL
                      # define EXIT_STATUS_STRATEGY_IMPL EXIT_SUCCESS
                      #endif
                      Ответить
                      • #ifndef EXIT_STATUS
                        # error "Pure virtual macro call
                        #endif

                        И пусть каждая реализация себе дефайнит. А то нетолерантно как-то.
                        Ответить
                      • там же сишник писал
                        ваши ожидания завышены

                        впрочем можно ведь PR заслать
                        Ответить
                          • Вообще я думаю, что длиннее всего изумрудный хуй.

                            Но так же в няшной нельзя, я надеюсь, как ты написал?
                            Ответить
                                • 1 - short short
                                  2 - short
                                  3 - long short
                                  4 - long
                                  5 - short short long long
                                  6 - short long long
                                  7 - long short long long
                                  8 - long long

                                  Какой потенциал проебали )))
                                  Ответить
                                  • Всегда удивлялся "пасхалкам" типа too long.

                                    Ну ладно там deadbeef или zloebu4, вставили константу или комментарий, это 10 секунд.

                                    Но тут-то надо было написать обработку спецситуации на уровне чего-то там? аст, парсера?
                                    Ответить
                                  • Внешне в описании типа несколько слов, разделённых пробелами, кажутся модификаторами. Кажется, что с помощью модификаторов можно гибко описать произвольный тип. А потом оказывается, что кобенация «long long», а также кобенации «long», «short» , «long long» с «unsigned» или с «signed» и с «int» захардкожены и других кобенаций не предвидится (ну ещё «long double» есть). Тупо синтаксический хак.
                                    Ответить
                • Нафиг там bindtextdomain (PACKAGE, LOCALEDIR); ? Это чтобы локализованная версия хелпа подгрузилась?
                  Ответить
          • Она ещё и локализована :3
            $ /bin/true --help
            Выкарыстаньне: /bin/true [довады загаднага радка ігнаруюцца]
              альбо:  /bin/true ПАРАМЭТАР
            Exit with a status code indicating success.
            
                  --help     паказвае гэтую даведку
                  --version  выводзіць зьвесткі пра вэрсію
            
            ЗАЎВАГА! Ваш інтэрпрэтатар загадаў можа мець уласную вэрсію true, якая,
            звычайна, замяняе вэрсію, што апісана тутака. Калі ласка,  зьвярніцеся да
            дакумэнтацыі вашага інтэрпрэтатара загадаў, каб даведацца аб парамэтрах,
            якія ён падтрымлівае.
            
            GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
            Report true translation bugs to <http://translationproject.org/team/>
            Full documentation at: <http://www.gnu.org/software/coreutils/true>
            or available locally via: info '(coreutils) true invocation'
            Ответить
          • Оверинжиниринг. Обработка параметров командной строки, чтобы показать хелп, хелп может быть локализован (это ещё «gettext» или как там тащить). Давайте ещё до кучи «ICU» статически влинкуйте!

            Параметр командной строки, показывающий версию — зачем? Зачем? Что там можно добавить в новой версии? Или это чисто для «autotools», чочобы скрипт «./configure» мог что-нибудь вытащить?

            Не проще полностью выпилить хелп, а кому нужно, тот через «man» посмотрит?
            Ответить
            • Приведи реальный пример использования true или false.
              Ответить
              • while true; do
                    # ...
                done
                
                supress_this_error_with_set_e || true


                Про "false" кроме генерированых говноскриптов ничего на ум не приходит
                Ответить
                • Но ведь true один раз загружается в память? По скорости это примерно как вызов напрямую main(1, {"true"}), и похуй какого размера бинарник?
                  Ответить
                  • Он на каждой итерации цикла будет загружаться и выгружаться.
                    Ответить
                      • «Баш»Интерпретатор скрипта же не знает, что он каждый раз возвращает одно и то же значение. Интерпретатор будет на каждой итерации заново запускать «/bin/true» в надежде, что эта программа вернёт новое значение.
                        Ответить
                      • В линуксе это не так страшно, кстати. Процессы очень быстро поднимаются.

                        А вот для всяких cygwin/mingw под вендой это полная жопа. У винды процессы очень дорогие. И все эти скрипты там дико тормозят.

                        З.Ы. К слову, именно поэтому сторонники винды всегда топят за треды.
                        Ответить
                  • Он вообще не загружается. Вся эта мелочь обычно заинлайнена в интерпретатор. А бинари для совместимости с чем-то древним (оригинальный sh?).
                    Ответить
                    • Конкретно в «баше» — да. Там ещё [ и [[ заинлайнены в интерпретатор, а для совместимости с говном мамонта есть бинари /bin/[ и /bin/[[.

                      Но мы вроде рассматривали теоретический случай, когда /bin/true может кому-то пригодиться.
                      Ответить
    • Ну кстати с этими минусами в именах куча уязвимостей в говноскриптах... Криво позовёшь tar - получишь запуск произвольного кода.
      Ответить
  • Я достаточно долгое время живу за рубежом, поэтому как-то проще уделять время своим шалостям. Никто особо не третирует за вопрос бисексуальности, хотя и в самой моей бисексуальности есть тонкости.
    Ответить

Добавить комментарий

Где здесь C++, guest?!

    А не использовать ли нам bbcode?


    8