1. bash / Говнокод #15779

    −125

    1. 1
    2. 2
    3. 3
    if [ $count > 0 ]; then
        ...
    fi

    Запостил: bormand, 18 Апреля 2014

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

    • Вот гавно
      Ответить
    • Очередной раз толсто. Что-то ты совсем растолстел. Раньше, помнится, и топики годные были, а теперь что?
      Ответить
      • > Очередной раз толсто.
        Поясни, пожалуйста, что не так?
        Ответить
        • guest не может в баши, потому и толсто.
          Ответить
    • Неплохой генератор файлов
      Ответить
    • Нужно было
      if [ $count -gt '0' ]; then
      ?
      Ответить
    • Там вроде двойные круглые скобки, не? Или экранирование слешем.
      Ну и нотация магистра Йоды старого возможно ошибку выявить поможет.
      Ответить
    • скрипт не говно
      bash говно
      как и линупс
      и ваапще вы все тут дибилы и не лечитесь
      Ответить
    • Что не так?
      Ответить
      • В (ba)sh знак > используется не для сравнения, а для перенаправления вывода.
        a > b означает не сравнить a и b, а выполнить кокококоманду «а», а вывод в файловый дескриптор №1 перенаправить в файл «b».

        $count > 0 создаст файл с именем «0», в который перенаправит вывод текущей команды.
        Ответить
        • показать все, что скрытоvanished
          Ответить
          • Ага. Предыдущий гость и Борманд уже предложили варианты решения.

            Оказывается, ещё можно заэкранировать знак больше: \>

            Новички не знают, что квадратные скобки — это не часть синтаксиса. [ — это всего лишь команда. ] передают последним параметром «для красоты».

            А вот двойные квадратные скобки (и круглые) — это башизм. В других оболочках их может и не оказаться.

            Посмотрел заметку: https://www.opennet.ru/docs/RUS/bash_scripting_guide/c2171.html

            Выходит, что двойные скобки меняют смысл знаков < > || &&, так?
            Ответить
            • показать все, что скрытоvanished
              Ответить
              • Кокококой багор )))

                Ну почему стандартные языки для оболочек убоги?

                Кстати, компания «IBM» пыталась изменить эту ситуацию, заменив bat-файлы на «REXX» в «OS/2» и в «PC-DOS» (в нём «command.com» вызывал интерпретатор «REXX», если пользователь пытался запустить rexx-файл), но так до конца на «REXX» и не перешла. Он использовался как второй язык, но не как основной.

                https://ru.wikipedia.org/wiki/REXX

                В «Windows» тоже пытались что-то использовать вместо «bat» («VBScript», «PowerShell»)...

                Вообще какие ещё языки программирования используются в стандартных оболочках?
                Ответить

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