The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

Как получать ответы на вопросы по программированию прямо из командной строки или редактора
В прошлой заметке было показано как, пользуясь сервисом cheat.sh, можно
получить краткую справку практически по любой популярной команде UNIX/Linux.
Сервис использует для этого популярные репозитории шпаргалок (cheat sheets),
такие как tldr, cheat и прочие.

Возможности сервиса cheat.sh были расширены, и теперь с его помощью можно
получать не только подсказки по командам UNIX/Linux, но и получать ответы на
любые вопросы по программированию.

В простейшем случае использование сервиса выглядит следующим образом:

    curl cheat.sh/python/append+file

Этот запрос возвращает ответ на вопрос, как дописать файл (append file) в python.

Вместо python в запросе можно указать другой язык программирования (из 55 поддерживаемых
сервисом в настоящий момент):

    curl cheat.sh/js/append+file
    curl cheat.sh/go/append+file

Возвращаемые запросы отформатированы по умолчанию как код на соотвествующем 
языке программирования: текстовые пояснения оформлены как комментарии языка.
Их можно убрать полностью (опция Q) или оставить как незакомментированный текст:

(с комментариями)

    $ curl cht.sh/lua/merge+tables
    -- Lua - merge tables?

    for k,v in pairs(second_table) do first_table[k] = v end

    -- [Doug Currie] [so/q/1283388] [cc by-sa 3.0]

(без комментариев)

    $ curl cht.sh/lua/merge+tables?Q
    for k,v in pairs(second_table) do first_table[k] = v end

Сервис поддерживает множество других опций, описание которых можно получить по запросу /:help

    curl cht.sh/:help

Обратите внимание, что к сервису можно обращаться как по полному имени (cheat.sh),
так и по краткому имени cht.sh. Для запросов можно использовать оба протокола HTTP и HTTPS.


Примеры запросов:

    curl cht.sh/go/reverse+a+list
    curl cht.sh/python/random+list+elements
    curl cht.sh/js/parse+json
    curl cht.sh/lua/merge+tables
    curl cht.sh/clojure/variadic+function

Демонстрация: https://www.opennet.ru/opennews/pics_base/0_1530858949.gif


cht.sh: Клиент для комадной строки


Сервис не требует инсталляции никакого дополнительного программного обеспечения
за исключением curl (или его альтернатив, таких как wget, httpie или fetch),
однако у него существует одноимённый клиент, cht.sh, который упрощает использование
сервиса и делает его использование более удобным:

    $ cht.sh python append file

Клиент поддерживаем режим оболочки (шелла), в котором можно задавать вопросы напрямую,
не вводя каждый раз при этом название языка и не вызывая клиент:

    $ cht.sh --shell python
    python> append file
    ...
    python> generate random string
    ...
    python> parse json
    ...

В зкспериментальном режиме сервис поддерживает запросы и на других языках кроме английского:

    python> дописать файл
    python> скопировать файл
    python> переименовать файл
    python> рекурсивный обход каталога
    python> cd /lua
    lua> использовать внешнюю функцию
    lua> отсортировать таблицу
    js> cd /js
    js> асинхронное чтение файла

Все запросы, приведённые выше, произвольны (и все возвращают корректные ответы).

Сервис работает следующим образом: после получения запроса он пытается обработать его пользуясь
данными из доступных репозиториев шпаргалок, таких как tldr, cheat, learnxiny и
так далее (а точнее,
их локальных копий, проиндексированных и находящихся в памяти, благодаря чему, в том числе,
достигается такая высокая скорость реакции). В простейших случаях, когда запросы односложны,
и являются, например, названием команд UNIX/Linux, этого оказывается достаточно.

Если же запрос обработать таким образом не удаётся, осуществляется поиск на внешних ресурсах
(в первую очередь stackoverflow.com и других сайтах stackexchange), и если подходящий ответ
найти удалось, он обрабатывается и возвращается пользователю. Код ответа форматируется,
как уже было сказано выше, таким образом, что текст в нём оформляется как комментарии,
код остаётся кодом, а внизу добавляется источник ответа, имя его автора и лицензия, по которой
он распространяется.

Если найденный для ответа вопрос не подходит, следующий можно посмотреть,
добавив /номер после него:

    python> generate random string
    python> generate random string /1
    python> generate random string /2


Клиент cht.sh имеет предоставляет ряд других приятных возможностей, таких как:

* автопродолжение;
* история поиска;
* копирование в буфер обмена (C);

и ряда других (для просмотра нужно вызвать help в cht.sh).

Кроме этого к cheat.sh можно обращаться напрямую из текстового редактора.

Демонстрация: https://www.opennet.ru/opennews/pics_base/0_1530859122.gif


Доступ из редактора

Запросы к cheat.sh, а значит к StackOverflow и к прочим источникам информации,
использующимся в cheat.sh,
можно отправлять напрямую из текстового редактора Vim или Emacs.

Для этого нужно установить дополнительные плагины (подробнее в cht.sh/:vim и в cht.sh/:emacs).

После этого запросы можно писать напрямую в коде программы
и получать ответы на них в самом редакторе (в текущем или в отдельном буфере)
или в пейджере.

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

Традиционным решением было бы:

* открыть браузер,
* в нём - google,
* ввести "generate random string",
* получить ссылку на stackoverflow,
* перейти по ней,
* скопировать найденный ответ в буфер обмена,
* вставить его в редактор,
* подправить его под конкретную программу.

Вместо этого, используя плагин cheat.sh-vim:

* ввести запрос прямо в буфере редактора;
* нажать <leader>KP (или <leader>KB, или <leader>KK).

Ответ будет вставлен в код, показан в отдельном буфере редактора (<leader>KB)
или во внешнем пейджере (<leader>KK).

Демонстрация возможностей плагина: https://www.opennet.ru/opennews/pics_base/0_1530859160.gif

Альтернативные решения

Существуют альтернативные решения, которые позволяют достичь похожих результатов:

* tldr  - подсказки по командам UNIX/Linux;
* cheat - подсказкт по командам UNIX/Linux;
* how2  - поиск ответов на stackoverflow из командной строки;
* howdoi - поиск ответов на stackexchange из командной строки.

Все вышеназванные утилиты хорошо справляются с названными задачами.
При этом cheat.sh обладает рядом преимуществом в сравнении с каждой из них:

* Не требует инсталляции, может использоваться везде, где есть curl/wget/httpie
или любой HTTP-клиент;
* Предоставляет доступ как к шпаргалкам, так и к ответам на вопросы;
* Намного быстрее чем how2 и howdoi;
* Комментирует пояснительный текст в ответах;
* Может использоваться для автоматических запросов;
* Не требует актуализации репозиториев шпаргалок (как в случае с tldr и cheat);
* Поддерживает запросы на разных языках, в том числе на русском;
* Интеграция с текстовыми редакторами Vim и Emacs;
* Поддерживает Tab-completion (для bash, zsh и fish).

Недостатки (на данный момент):

* Не может работать в оффлайн-режиме (tldr и cheat могут; howdoi и how2 тоже нет).




Ссылки

* https://github.com/chubin/cheat.sh            - главный репозиторий проекта
* https://github.com/dbeniamine/cheat.sh-vim    - плагин для Vim
* https://github.com/davep/cheat-sh.el          - плагин для Emacs

* https://twitter.com/igor_chubin               - твиттер главного
разработчика проекта (используется для анонса существенных обновлений проектов
и новых проектов)

Другие подобные проекты (подмножество функций cheat.sh):

* https://github.com/tldr-pages/tldr            - подсказки для командной строки
* https://github.com/chrisallenlane/cheat       - подсказки для командной строки
* https://github.com/adambard/learnxinyminutes-docs - краткие учебники по
языкам программирования
* https://github.com/gleitz/howdoi              - поиск ответов на
вопросы по языкам программирования из командной строки
* https://github.com/santinic/how2              - поиск ответов на
вопросы по языкам программирования из командной строки

Сервисы для терминала:

* curl wttr.in  - погода из терминала
* curl rate.sx ; curl rate.sx/btc - курс валют и криптовалют из терминала
* curl qrenco.de - сервис для генерация QR-кода в терминале
* ix.io, sprunge.us, ptpb.pw, 0x0.st, clbin.com - Pastebin для терминала
* curl ifcfg.me, curl ip-addr.es и множество других - определение
внешнего IP-адреса в терминале
* https://github.com/chubin/awesome-console-services/ - полный список сервисов для терминала
 
05.07.2018 , Автор: igor_chubin , Источник: https://github.com/chubin/cheat.sh...
Ключи: help, cheat, shell / Лицензия: CC-BY
Раздел:    Корень / Пользователю / Файлы, копирование, архивация

Обсуждение [ Линейный режим | Показать все | RSS ]
 
  • 1.1, Аноним (1), 10:21, 06/07/2018 [ответить] [показать ветку] [···]    [к модератору]
  • +/
    curl cheat.sh/npm/leftpad

    Теперь если вдруг забудете, то ВСПОМНИТИ

     
  • 1.3, Alexander (ok), 12:29, 06/07/2018 [ответить] [показать ветку] [···]    [к модератору]
  • +/
    $ curl cheat.sh/определение+внешнего+IP-адреса
    Unknown topic.
    Do you mean one of these topics may be?

        * reg-import 15
        * run-mailcap 15
        * scala/:main 15

    $ curl cheat.sh/Pastebin+для+терминала
    Unknown topic.
    Do you mean one of these topics may be?

        * paste 37
        * update-rc.d 36
        * pbpaste 34

    Недоработочка ;-)

    Круто сервис, конечно. Спасибо!

     
     
  • 2.4, igor_chubin (ok), 12:52, 06/07/2018 [^] [ответить]     [к модератору]
  • +/
    Такие запросы можно отправлять только для конкретного контекста по крайней мере... весь текст скрыт [показать]
     
     
  • 3.10, pavlinux (ok), 16:19, 07/07/2018 [^] [ответить]     [к модератору]  
  • –1 +/
    Мальчеги, выдолб pavel amd64 tmp links https www google ru search q оп... весь текст скрыт [показать]
     
     
  • 4.11, igor_chubin (ok), 17:44, 07/07/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    Да ну, бросьте При всём уважении к вам, Pavlinux, на мой взгляд, вы тут катего... весь текст скрыт [показать]
     
  • 1.5, Аноним (5), 13:42, 06/07/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +2 +/
    Большое Вам спасибо за Ваш труд! Мне, как апологету CLI и нелюбителю раздутых современных браузеров, такое программное решение - как глоток воздуха.
     
     
  • 2.6, igor_chubin (ok), 15:44, 06/07/2018 [^] [ответить]     [к модератору]  
  • +3 +/
    Истинно так И проблема даже не в том, что для того чтобы браузеру показать вам ... весь текст скрыт [показать]
     
     
  • 3.7, Онаним (?), 21:12, 06/07/2018 [^] [ответить]    [к модератору]  
  • –1 +/
    Отсыпь немного
     
     
  • 4.8, igor_chubin (ok), 22:20, 06/07/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    Мне кажется, что без этого вашего комментария в моей записи оставалась какая-то недосказанность, а вот сейчас всё стало просто отлично. Спасибо большое
     
  • 4.45, Michael Shigorin (ok), 01:11, 15/08/2018 [^] [ответить]    [к модератору]  
  • +/
    На: http://www.wagner.pp.ru/~vitus/articles/user-friendly.html
     
  • 3.33, Аноним (33), 06:36, 11/07/2018 [^] [ответить]     [к модератору]  
  • –1 +/
    Странный опус, для когото компьютер развлекаться, для кого-то работать, вэб уж... весь текст скрыт [показать]
     
     
  • 4.34, igor_chubin (ok), 02:35, 12/07/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    Я думаю, что вы ошибаетесь насчёт консоли, насчёт того, что веб её выдавит Моё ... весь текст скрыт [показать]
     
     
  • 5.35, Аноним (33), 04:57, 12/07/2018 [^] [ответить]     [к модератору]  
  • –1 +/
    Ага, то-то на каждой первой железке консолька, то бэкспейс не умеет, то делет, а... весь текст скрыт [показать]
     
     
  • 6.46, Michael Shigorin (ok), 01:14, 15/08/2018 [^] [ответить]    [к модератору]  
  • +/
    > Но на наш век еще хватит, хорошо это или плохо.

    Вы вообще ничего не поняли, "настрадамус".

     
  • 1.9, pavlinux (ok), 16:10, 07/07/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    man пробовали?
     
     
  • 2.12, igor_chubin (ok), 17:48, 07/07/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    Да Как с помощью man ответить на вопросы по программированию Давайте возьмём ка... весь текст скрыт [показать]
     
     
  • 3.37, pavlinux (ok), 02:54, 15/07/2018 [^] [ответить]    [к модератору]  
  • +/
    > Например, я хочу узнать как в
    > lua прочитать json
    > Какой man открывать и потом что там искать?

    Это вопросы начинающих, а не программиста. А эти консоль уже не знают.

     
     
  • 4.38, igor_chubin (ok), 05:09, 15/07/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    Да, так и есть, но только 1 Можно хорошо разбираться в одном языке программиро... весь текст скрыт [показать]
     
  • 1.13, Crazy Alex (ok), 03:20, 08/07/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    А потом прилетит что-нибудь милое с ESC-последовательностями.
     
     
  • 2.14, igor_chubin (ok), 12:40, 08/07/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    Справедливое замечание Спасибо По правде говоря уже ничего серьёзного таким об... весь текст скрыт [показать]
     
  • 1.15, aaaaaaaaaaaaaaaaaaaaaaaaaaaa (?), 13:58, 08/07/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Дополните пожалуйста ответом
    http://cheat.sh/bash/офлайн+версия+cheat.sh+с+помощю+wget
    если это реально...
     
     
  • 2.17, igor_chubin (ok), 14:20, 08/07/2018 [^] [ответить]     [к модератору]  
  • +/
    Не совсем понятно зачем тогда использовать wget, если это офлайн версия Или вы ... весь текст скрыт [показать]
     
     
  • 3.19, aaaaaaaaaaaaaaaaaaaaaaaaaaaa (?), 14:32, 08/07/2018 [^] [ответить]     [к модератору]  
  • +/
    Если cheat sh Не может работать в оффлайн-режиме , в wget может делать локальны... весь текст скрыт [показать]
     
     
  • 4.20, igor_chubin (ok), 14:43, 08/07/2018 [^] [ответить]     [к модератору]  
  • +/
    Всё, теперь понятно, что имелось тут под wget То есть, это было некое такое у... весь текст скрыт [показать]
     
  • 1.16, Аноним (16), 14:20, 08/07/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Раскраска вывода делает текст плохо читаемым на светлых темах.
     
     
  • 2.18, igor_chubin (ok), 14:31, 08/07/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    Да, это правда Вот здесь подробнее об этом https github com chubin cheat sh ... весь текст скрыт [показать]
     
     
  • 3.21, Аноним (21), 15:57, 08/07/2018 [^] [ответить]    [к модератору]  
  • +/
    Где можно подробнее узнать о конфигурационном файле? Тут - https://github.com/chubin/cheat.sh - не нашёл (может, просмотрел).
     
     
  • 4.28, igor_chubin (ok), 22:22, 08/07/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    Да, там не было этого, я добавил Файл cht sh cht sh conf Параметр называется... весь текст скрыт [показать]
     
     
  • 5.29, Аноним (29), 23:51, 08/07/2018 [^] [ответить]    [к модератору]  
  • +/
    Спасибо.
     
  • 1.22, Аноним (22), 18:50, 08/07/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Пожалуйста, рассмотрите возможность использования http://asciinema.org/ вместо гифок для создания текстовых скринкастов.
     
     
  • 2.23, igor_chubin (ok), 19:28, 08/07/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    Мы используем asciinema тоже, но гифки обладают тем преимуществом, что 1 они м... весь текст скрыт [показать]
     
     
  • 3.24, Аноним (22), 19:46, 08/07/2018 [^] [ответить]     [к модератору]  
  • +/
    Понятно, спасибо Это круто Правда, я не совсем понял, как именно это работает ... весь текст скрыт [показать]
     
     
  • 4.25, igor_chubin (ok), 20:26, 08/07/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    Да, почти, только ей передаётся не лог сессии терминала потому что в том-то и и... весь текст скрыт [показать]
     
     
  • 5.26, Аноним (22), 20:54, 08/07/2018 [^] [ответить]     [к модератору]  
  • +/
    Да, прикольно Мощная штука у вас получилась И спасибо за подробное объяснен... весь текст скрыт [показать]
     
     
  • 6.27, igor_chubin (ok), 21:32, 08/07/2018 [^] [ответить]    [к модератору]  
  • +2 +/
    > И спасибо за подробное объяснение, было интересно читать. (Немного расширить, чуть-чуть
    > подредактировать - и можно смело выкладывать в качестве анонса\введения. Короче, ждем
    > релиза!)

    Немного многовато текста для анонса :)
    Спасибо! Скоро зарелизим

     
  • 1.30, Michael Shigorin (ok), 10:12, 09/07/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Авторство заподозрил с первых строк ;-)
     
     
  • 2.31, igor_chubin (ok), 00:17, 10/07/2018 [^] [ответить]    [к модератору]  
  • +2 +/
    И ты не ошибся :)

    Надеюсь, что сервис тебе понравился :)

     
  • 1.32, Алёша (?), 10:08, 10/07/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    весьма полезный сервис.
    хотелось бы еще подсказок из документаций по часто встречающимся серверам (демонам) и их конфигурациям - nginx, php.ini, httpd ну и так далее - все эти вещи есть онлайн.
    а то сейчас nginx/limit_req выдает какой-то малополезный вопрос-ответ (со stackoverflow походу), а по limit_req_zone вообще ничиго не выдает, тогда как мог бы выдавать соответствующий раздел с оф.сайта и примеры...
     
     
  • 2.39, igor_chubin (ok), 05:18, 15/07/2018 [^] [ответить]    [к модератору]  
  • +/
    Да, правда. Справедливое замечание. Мы постараемся это сделать

    (кстати nginx/limit_req_zone выдаёт ответ тоже, по-моему даже более-менее в тему, проверьте, пожалуйста, хотя официальная документация с примерами была бы лучше; и ещё, если вам ответ не нравится, то можно попробовать следующий добавив в конце /1, /2 и так далее)

     
  • 1.36, robot228 (?), 07:15, 13/07/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Для Sublme Text есть решение?
     
     
  • 2.40, igor_chubin (ok), 12:27, 16/07/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    Мы работаем над ним, но пока оно не готово к релизу.
    Пока что официально мы поддерживаем только Vim, Emacs и Visual Code.
    Плагин для Sublime сейчас разрабатывается, и скоро будет доступен.
    Основной репозиторий плагина:

    https://github.com/gauravk-in/cheat.sh-sublime-plugin

     
     
  • 3.41, mib (?), 19:59, 19/07/2018 [^] [ответить]    [к модератору]  
  • +/
    Вы крутые. Спасибо вам :)
     
     
  • 4.42, igor_chubin (ok), 01:31, 20/07/2018 [^] [ответить]    [к модератору]  
  • +/
    На здоровье!
     
  • 1.43, Techno1 (?), 16:11, 02/08/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Не увидел примера запроса к stackoverflow при помощи curl cht.sh/...
     
     
  • 2.44, igor_chubin (ok), 22:00, 02/08/2018 [^] [ответить]    [к модератору]  
  • +/
    Почти любой запрос по языкам программирования обрабатывается в том числе
    с помощью данных со StackOverflow.
    Если ответ со StackOverflow будет (с точки зрения системы) наилучшим, она вернёт его.
    В тексте ответа вы можете увидеть, откуда он взят
     
  • 1.47, Diomas (?), 16:20, 21/09/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    В MINGW терминале не обрабатываются эскейп-последовательности (или как это назывется):

    $ curl cht.sh/go/reverse+a+list
    /*
     * How do I reverse an array in Go?
     * 
     * Honestly this one is simple enough that I'd just write it out like
     * this:
     */

     
     
  • 2.48, igor_chubin (ok), 17:54, 21/09/2018 [^] [ответить]    [к модератору]  
  • +/
    > В MINGW терминале не обрабатываются эскейп-последовательности (или как это назывется):

    Да, это может быть.
    Если вы будете добавлять опцию T в конце запроса, их в ответе не будет

    curl cht.sh/go/reverse+a+list?T

    Конечно, это не очень удобно всё время добавлять опцию.
    Для этого вы можете установить клиент cht.sh (curl https://cht.sh/:cht.sh)
    или сделать шелловскую функцию, как например how_in (пример вот тут: https://twitter.com/igor_chubin )

     
  • 1.49, Michael (??), 14:06, 14/11/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Для git ещё модуль не помешает, хоть и не язык программирования
     
     
  • 2.50, igor_chubin (ok), 23:00, 14/11/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    Вообще git работает, но только нужно комментарии лучше шелловские
    и подсветку синтаксиса тоже. Сейчас сишная.

    curl cht.sh/git/отменить+последний+коммит?Q

     
  • 1.51, rvs2016 (ok), 23:01, 27/11/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    > Демонстрация возможностей плагина:
    > https://www.opennet.ru/opennews/pics_base/0_1530859160.gif

    А почему '...' является устаревшим, хотя я нго использую и интерпретатор меня за это не ругает?

     
     
  • 2.52, igor_chubin (ok), 12:44, 28/11/2018 [^] [ответить]    [к модератору]  
  • +/
    Есть очень много устаревших и нерекомендованных вещей в интерпретаторе, которые просто работают и никак интерпретатором не комментируются, просто исполняются.
    В первом приближении можно использовать shellcheck для статического анализа кода
    и обнаружения таких мест.

    Конкретно с '' проблема в том, что тут открывающая и закрывающая кавычка одинаковы,
    поэтому нельзя делать вложенные обращения. То есть, если вы сделаете: 'k1 'k2'' это будет восприматься не как $(k1 $(k2)) а как $(k1) k2 $(), что, конечно же, неправильно.

     
     
  • 3.53, rvs2016 (ok), 16:14, 28/11/2018 [^] [ответить]    [к модератору]  
  • +/
    > Конкретно с '' проблема в том, что тут открывающая и закрывающая кавычка
    > одинаковы, поэтому нельзя делать вложенные обращения.

    Да... с вложенными обращениями проблему тоже имел. Приходилось вместо вложения делать предварительные вычисления нужных значений, а затем подставлять их внутрь ''. Надо попробовать конструкцию $() - работает ли она в "моём любимом шелле" (zsh). Если работает, то можно и применять. Конструкцию-то такую я видел в разных скриптах, но всегда считал её новомодной или специфичной для отдельных шеллов, поэтому никогда не применял её у себя - ну типа пусть будет более топорно (а не модно), зато надёжнее и совместимее. :-)

     
     
  • 4.54, igor_chubin (ok), 16:44, 28/11/2018 [^] [ответить]    [к модератору]  
  • +/
    Конечно же работает

    А вообще я вам очень рекомендую shellcheck (и желательно подключить его к вашем любимому редактору через соответствующий плагин; например, если вы используете Vim — через syntastic).
    Вы будете писать тогда намного более качественный код + существенно расширите свои знания.
    shellcheck'у вы так же можете указать какой конкретно диалект вы сейчас используете,
    и вы будете всегда видеть, в каких шеллах будет работать ваш код, а в каких нет

     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:



      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor