ipbash
- функции для работы с IP
и подсетями на чистом bash
Функции, представленные здесь, могут пригодится для объединения нескольких списков ip-адресов или подсетей, полученных из разных источников, допустим, для бана.
С помощью ENTRYIP, можно убрать подсети, которые перекрывают друг-друга: Например подсеть 192.168.1.0/24 входит в подсеть 192.168.0.0/23. И для бана достаточно будеть оставить только последнюю.
А если в списке есть еще подсеть 192.168.2.0/23, то с помощью функции MERGESUBNETS можно объединить подсети 192.168.0.0/23 192.168.2.0/23 в одну 192.168.0.0/22, уменьшив список и увеличив скорость работы фильтра.
Все функции написаны на чистом bash, без использования сторонних программ, поэтому скорость выполнения не очень большая, но они будут работать, где есть bash.
https://github.com/tagd-tagd/ipbash
опубликовано в @gitgate
В рамках акции "Я пиарюсь". Просьба поддержать звездочкой в репку.
#bash #dev #ip #lib
GitHub
GitHub - tagd-tagd/ipbash: bash-functions for work with ip addresses and subnets
bash-functions for work with ip addresses and subnets - tagd-tagd/ipbash
👍9🔥3
tagdoc
- небольшой скрипт для поиска по тегам в текстовом руководстве (TUI/CLI
)Консольный (
TUI/CLI
) справочник для поиска информации по тегам. Может быть использован сотрудниками в качестве адресной книги, справочника.Студентами, при изучении новых языков программирования.
Cотрудниками IT, для записи полезных, но редко используемых конструкций, а также в качестве дополнения для man, в котором очень мало примеров использования.
Может использоваться любыми сотрудниками для записи интересных ссылок/статей.
Основным плюсом программы является то, что тэги задаете лично вы, и их всегда можно заменить для улучшения ассоциаций.
В отличие от
grep
поиск производится только по тэгам, не затрагивая тело статьи(заметки/комментария). Строка тэгов может выделяться цветом. Весь вывод идет в stdout
, поэтому дополнительно можно воспользоваться любым фильтром (grep
, sed
)https://github.com/tagd-tagd/tagdoc
опубликовано в @gitgate
В рамках акции "Я пиарюсь". Просьба поддержать звездочкой в репку.
#bash #dev #tui #cli #tag
GitHub
GitHub - tagd-tagd/tagdoc: Small script for search by tags in text guide
Small script for search by tags in text guide. Contribute to tagd-tagd/tagdoc development by creating an account on GitHub.
🔥9👍4
Christmas-tree
- просто поздравление с наступающем Новым Годом написанное на голом bash
.Рекомендую заглянуть в код, там красиво.. А скоро от автора и бесплатный курс по
bash
начнется. Анонс будет ! https://github.com/tagd-tagd/Christmas-tree
поделился автор: @Tagd_Tagd
опубликовано в @gitgate
#bash #chritmas
🔥23👍12
Совет дня:
Немного полезных
публиковано в @gitgate
#tips #bash #cli
Немного полезных
CLI
команд в bash
про повторение аргументов.!^ first argument
!$ last argument
!* all arguments
!:2 second argument
!:2-3 second to third arguments
!:2-$ second to last arguments
!:2* second to last arguments
!:2- second to next to last arguments
!:0 the command
!! repeat the previous line
публиковано в @gitgate
#tips #bash #cli
👍36🔥12
bunster
- скомпилируйте сценарии оболочки bash
в статические двоичные файлы.Вы когда-нибудь хотели, чтобы ваши сценарии оболочки были быстрее, портативнее и безопаснее?
Bunster
воплощает это в жизнь, преобразуя ваши сценарии оболочки в эффективные автономные двоичные файлы, которые легко распространять и развертывать на разных платформах (на данный момент поддерживается только Unix
) .В отличие от других инструментов,
Bunster
не просто оборачивает ваши сценарии в двоичный файл - он компилирует их в эффективный машинный код, используя мощную цепочку инструментов Go
. Это обеспечивает производительность, портативность и надежность.Технически говоря,
Bunster
на самом деле является shell-to-Go
транслятором, который генерирует исходный код Go
из ваших скриптов. Затем при необходимости используется Go Toolchain
для компиляции кода в исполняемую программу. https://github.com/yassinebenaid/bunster
опубликовано в @gitgate
#bash #go #binary #compiller
GitHub
GitHub - yassinebenaid/bunster: Compile shell scripts to static binaries.
Compile shell scripts to static binaries. Contribute to yassinebenaid/bunster development by creating an account on GitHub.
👍14🔥12
bashtop
- монитор ресурсов, который показывает использование и статистику процессора, памяти, дисков, сети и процессов.Возможности:
-простота в использовании, система меню, вдохновленная игрой.
- быстрый и отзывчивый пользовательский интерфейс с выбором процесса клавишами ВВЕРХ и ВНИЗ.
- функция отображения подробной статистики выбранного процесса.
- возможность фильтровать процессы.
- легкое переключение между вариантами сортировки.
- отправка
SIGTERM
, SIGKILL
, SIGINT
выбранному процессу.- меню пользовательского интерфейса для изменения всех параметров файла конфигурации.
- график автоматического масштабирования для использования сети.
- показывает сообщение в меню, если доступна новая версия
- показывает текущие скорости чтения и записи дисков.
- несколько методов сбора данных, которые можно переключать при работе в
Linux
.https://github.com/aristocratos/bashtop
опубликовано в @gitgate
#bash #cli #tui #top
GitHub
GitHub - aristocratos/bashtop: Linux/OSX/FreeBSD resource monitor
Linux/OSX/FreeBSD resource monitor. Contribute to aristocratos/bashtop development by creating an account on GitHub.
🔥7👍6
Совет дня:
Как в
Пример:
улучшенный вариант от Ивана Гришина - @JohnMcGru
и правильнее, и короче
внутри скобочек
опубликовано в @gitgate
#tips #bash
Как в
bash
удалить повторы из массива<uniques>=($(echo "${<array>[@]}" | tr ' ' '\\n' | sort -u | tr '\\n' ' '))
Пример:
--> ARRAY=("one" "one" "two" "two" "two" "one" "three")
--> UNIQUES=($(echo "${ARRAY[@]}" | tr ' ' '\\n' | sort -u | tr '\\n' ' '))
--> echo $UNIQUES
one three two
улучшенный вариант от Ивана Гришина - @JohnMcGru
UNIQUES=( $(printf "%s\n" "${ARRAY[@]}" | sort -u ) )
echo "${UNIQUES[@]}"
###one three two
и правильнее, и короче
внутри скобочек
VAR=(...)
можно оставлять переводы строкVAR=( it
is
OK
)
echo "${VAR[@]}"
опубликовано в @gitgate
#tips #bash
👍19🔥16
telegram-bot-bash
- простой Telegram bot
, написанный на bash
https://github.com/topkecleon/telegram-bot-bash
Подсказал: @Tagd_Tagd
опубликовано в @gitgate
#telegram #bot #bash
GitHub
GitHub - topkecleon/telegram-bot-bash: Telegram bot written in bash
Telegram bot written in bash. Contribute to topkecleon/telegram-bot-bash development by creating an account on GitHub.
👍18🔥8
Совет дня:
Или bash Default values
Частенько требуется в bash скрипте указать значение переменной по умолчанию, например если не задано прямо.. Однако не все так просто...
Краткий списочек с описанием логики.
опубликовано в #gitgate
#tips #bash
Или bash Default values
Частенько требуется в bash скрипте указать значение переменной по умолчанию, например если не задано прямо.. Однако не все так просто...
Краткий списочек с описанием логики.
# bash one liner
# --------------
x="foo" && echo "${x:-bar} (x = $x)"
# foo (x = foo)
x="" && echo "${x:-bar} (x = $x)"
# bar (x = )
unset x && echo "${x:-bar} (x = $x)"
# bar (x = )
x="foo" && echo "${x-bar} (x = $x)"
# foo (x = foo)
x="" && echo "${x-bar} (x = $x)"
# (x = )
unset x && echo "${x-bar} (x = $x)"
# bar (x = )
x="foo" && echo "${x:=bar} (x = $x)"
# foo (x = foo)
x="" && echo "${x:=bar} (x = $x)"
# bar (x = bar)
unset x && echo "${x:=bar} (x = $x)"
# bar (x = bar)
x="foo" && echo "${x=bar} (x = $x)"
# foo (x = foo)
x="" && echo "${x=bar} (x = $x)"
# (x = )
unset x && echo "${x=bar} (x = $x)"
# bar (x = bar)
x="foo" && echo "(x = $x)" && echo "${x:?error message}"
# (x = foo) foo
x="" && echo "(x = $x)" && echo "${x:?error message}"
# (x = ) bash: x: error message
unset x && echo "(x = $x)" && echo "${x:?error message}"
# (x = ) bash: x: error message
x="foo" && echo "${x:+bar} (x = $x)"
# bar (x = foo)
x="" && echo "${x:+bar} (x = $x)"
# (x = )
unset x && echo "${x:+bar} (x = $x)"
# (x = )
опубликовано в #gitgate
#tips #bash
🔥17👍10
fly-to-podman
- небольшой BASH
скрипт, который помогает вам мигрировать из Docker
в Podman
. Он переносит ваши контейнеры, образа и мапленные каталоги
Docker
в Podman
, а также сохранить данные и конфигурации вашего контейнера (маунты, порты и т. д.).Возможности:
- миграция образов
Docker
в Podman
(включая теги)- миграция мапленных каталогов (
volumes
) Docker
в Podman
(включая все данные)- миграция сетей
Docker
в Podman
(включая имена, IP
-адресе, шлюзы, IP
-диапазоны и т. д.)- миграция контейнеров
Docker
в Podman
(включая имена, идентификаторы и статусы, такие как политика перезапуска и т. д.)- сохранение данных и конфигурации контейнера (маунты, открытые порты и т. д.)
https://github.com/Edu4rdSHL/fly-to-podman
опубликовано в @gitgate
#docker #podman #bash #converter
GitHub
GitHub - Edu4rdSHL/fly-to-podman: Migrate from Docker to Podman.
Migrate from Docker to Podman. Contribute to Edu4rdSHL/fly-to-podman development by creating an account on GitHub.
👍16🔥5
This media is not supported in your browser
VIEW IN TELEGRAM
Bashly
- генератор кода и Bash CLI Framework
Bashly
- приложение командной строки CLI
(написанное на Ruby
), позволяющее создавать многофункциональные инструменты командной строки bash
.Bashly
позволяет вам сосредоточиться на конкретном коде, не беспокоясь об анализе аргументов командной строки, текстах использования, сообщениях об ошибках и других функциях, которые обычно обрабатываются фреймворком в любом другом языке программирования.https://github.com/DannyBen/bashly
опубликовано в @gitgate
#bash #cli #ruby
👍8🔥5
Совет дня:
Условные выражения для файлов в
PS. в линукс все есть файл или поток :)
PPS. И переменные окружения.
опубликовано в @gitgate
#tips #bash
Условные выражения для файлов в
bash
## True if file exists.
[[ -a ${file} ]]
## True if file exists and is a block special file.
[[ -b ${file} ]]
## True if file exists and is a character special file.
[[ -c ${file} ]]
## True if file exists and is a directory.
[[ -d ${file} ]]
## True if file exists.
[[ -e ${file} ]]
## True if file exists and is a regular file.
[[ -f ${file} ]]
## True if file exists and is a symbolic link.
[[ -h ${file} ]]
## True if file exists and is readable.
[[ -r ${file} ]]
## True if file exists and has a size greater than zero.
[[ -s ${file} ]]
## True if file exists and is writable.
[[ -w ${file} ]]
## True if file exists and is executable.
[[ -x ${file} ]]
## True if file exists and is a symbolic link.
[[ -L ${file} ]]
PS. в линукс все есть файл или поток :)
PPS. И переменные окружения.
опубликовано в @gitgate
#tips #bash
👍38🔥13