Рубрика «bash» - 14

findNclean: найти и вычистить - 1

Нет-нет, этот пост совсем не про боль и страдание! Даже немножко наоборот. Просто картинка напоминает о значимости первой строчки будущего кода ;).
Вначале, просто хотел описать свежую утилиту, с пылу с жару из под клавиатуры. Сама по себе она вполне ничего (хоть и до блеска бляхи новоиспечённого дембеля её ещё полировать и полировать), но описывать только её оказалось как-то скучновато. Потом решил, что на её примере можно поделиться башизмами, которыми сам раньше не пользовался. Далее подумал, что можно убить двух зайцев и описывать её совместно с жизненными примерами. Но в конце понял, что негоже мучить и без того изрядно потрёпанных зверушек, и решил просто их немножко причесать. Третий заяц (который и не заяц вовсе, а удав) мудро предпочёл воздержаться от участия в этом бардаке.

Так что если вдруг, тебе регулярно приходится искать файлы и может даже затем перемещать их куда-то; или тебе всё равно какой слой пыли лежит на файловой системе твоего сервера с аптаймом в несколько сотен лет и тебе просто интересен bash; или если ты просто мимо проходил{,а,о}, то не проходи мимо!Читать полностью »

Думаю многим известна ситуация, когда собственный изобретенный велосипед нигде потом не используется. Поэтому я долго не решался опубликовать эту разработку, пока не обратил внимание, что таскаю его из проекта в проект. И так, одним из неотъемлемых элементов современной разработки являются так называемые таск раннеры – это Grunt/Gulp для nodejs, Rake для Ruby, Make для C/C++ и т.п. А для главного инструмента разработчика – консоли – ничего подобного нет. Точнее есть, но, как это обычно бывает, не совсем то. В результате изысканий, на свет появился инструмент Bake – таскраннер написанный на bash с поддержкой модульной структуры.

Основные особенности:

  • Таски в виде функции.
  • Поддержка аргументов
  • Модули.

Читать полностью »

routine tasks automation

Введение

Машины всегда будут быстрее, независимо от того насколько мы продуктивны и как быстро мы набираем команды. Суровая правда жизни. С другой стороны, если мы выполняем одно и тоже действие множество раз, то почему бы не заставить машины страдать. Написать скрипт на bash (ваш любимый язык программирования) и каждый раз вызывать этот скрипт, а не набирать монотонные команды, которые забирают так много времени, сил и энергии. А мы, пока скрипт будет выполнять свою работу, можем помечтать о том, как космические корабли бороздят просторы нашей Вселенной.

В прошлой статье мы рассмотрели основы программирования на bash. Сегодня мы будем применять полученные знания на практике.
Читать полностью »

Модераторы, при следующем внеснии мной правки я просто внесу правку в мастер-копию, размещённую на моём компьютере и пересу её сюда. Так что все ваши правки исчезнут. Если хотите сообщите мне об ошибке, используйте стандартный способ (личку). См. также: github.com/limonte/dear-habr/issues/80 .

В первой части статьи перечислю кучу костылей UNIX, и вообще разных недостатков. Во второй — про «философию UNIX». Статья написана наскоро, «полировать» дальше не хочу, скажите спасибо, что написал. Поэтому многие факты привожу без ссылок.

Читать полностью »

Когда говорят о преимуществах 1С-Битрикс, в первых словах упоминают о лёгкой интеграции системы с 1С. Взаимодействие Битрикс с 1С осуществляется посредством передачи данных в формате CommerceML, который определяет формат XML файлов. В дополнение к этому Битрикс предлагает и стандарт обмена этими XML файлами между 1С и сайтом. Обмен состоит в отсылке из 1С обычных HTTP GET и POST запросов на сайт и получения от сайта простых ответов, определяющих результат выполнения команды.

Обычно декларируется, что в составе 1С существует некий "стандартный обмен с сайтом", который должен работать сразу после его включения. На практике, реализация обмена оказывается не такой тривиальной задачей, как это представляется вначале. Есть жалобы на то, что модуль обмена с сайтом 1С непомерно загружает систему и требует доработок под конкретные нужды. То есть, по факту, обмен вроде бы и есть, но чтобы заставить его работать так, как нужно, необходимо приложить усилия.

Есть ещё несколько причин, чтобы вклиниться в стандартный обмен:

  • Во-первых, источником данных для сайта не всегда может быть 1С. Это может быть какая-то другая информационная база или база другого сайта.
  • Кроме этого, может возникнуть ситуация, когда данные из 1С нужно дополнить другими данными или как-то изменить их.
  • Не всегда есть свободные программисты 1С, которые могут заняться доработками стандартной выгрузки или устранением неполадок в ней.

Читать полностью »

keep-calm-and-bin-bash

Вступление

Удобство использования того или иного инструмента заключается в том, насколько он помогает в решении конкретной задачи. Также важно, чтобы мы могли настроить этот инструмент под свои нужды. Приятным бонусом будет и тот факт, что мы можем расширить и дополнить новыми возможностями наш инструмент.

Мы добрались до самой интересной и увлекательной темы — это скрипты на bash. Когда вы запускаете терминал, внутри него работает специальная программа-оболочка — shell (англ) — интерпретатор команд. Shell понимает все команды, которые вы вводите с клавиатуры, и обрабатывает их. Также выводит сообщения об ошибках, следит за корректностью команд и их синтаксисом. Примером таких команд могут быть: сменить директорию, создать новую директорию, добавить текстовый файл, отредактировать текстовый файл, сохранить изменения и другие.
Читать полностью »

Как часто приходилось видеть репозиторий с кастомным скриптом по установке своих скриптов .bashrc или .zshrc файлы? Я точно писал такой велосипед и не один раз, для репозиториев, где храню свои личные конфиги. Давайте эту проблему решать.

“Nano-Framework” для автоматизации добавления скриптов в .{bash-zsh}rc - 1
Читать полностью »

tmux example

Вступление

Довольно долгое время я использовал в своей работе screen. Но со временем он меня перестал устраивать. Я начал искать альтернативы. Такой альтернативой является tmux. На многих порталах его описывают так: «Это тот-же screen, только на стероидах». Сначала я не мог понять почему такое сравнение пока не попробовал. Скажу честно, я на него не с первого раза перешел. Раза три-четыре пробовал, возвращался к screen’у. Но tmux все же победил.
Читать полностью »

Консоль в массы. Переход на светлую сторону. Часть первая - 1

Вступление

Всем привет! Данная серия статей — это текстовый вариант моего доклада на WSD в Киеве 26 ноября. Решил написать, чтобы дать более развернутое описание темам, которые были затронуты, а некоторые моменты уточнить. Кроме того, есть возможность рассмотреть больше примеров, услышать мнение от тебя, уважаемый читатель. И, конечно же, поделиться информацией с более широкой аудиторией.
Читать полностью »

Подводные камни Bash - 1

В этой статье мы поговорим об ошибках, совершаемых программистами на Bash. Во всех приведённых примерах есть какие-то изъяны. Вам удастся избежать многих из нижеописанных ошибок, если вы всегда будете использовать кавычки и никогда не будете использовать разбиение на слова (wordsplitting)! Разбиение на слова — это ущербная легаси-практика, унаследованная из оболочки Bourne. Она применяется по умолчанию, если вы не заключаете подстановки (expansions) в кавычки. В общем, подавляющее большинство подводных камней так или иначе связаны с подстановкой без кавычек, что приводит к разбиению на слова и глоббингу (globbing) получившегося результата.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js