Useful Tools | Linux | GitOps | DevOps
6.1K subscribers
211 photos
3 videos
7 files
776 links
Полезные бесплатные opensource инструменты на все случаи жизни, а иногда и советы.

Понравился проект из поста - поддержи автора звездой!

Web: https://gitgate.d3.ru

Сотрудничество: @maxgrue
Обсуждение: @gittalk
Download Telegram
Christmas-tree - просто поздравление с наступающем Новым Годом написанное на голом bash.

Рекомендую заглянуть в код, там красиво.. А скоро от автора и бесплатный курс по bash начнется. Анонс будет !

https://github.com/tagd-tagd/Christmas-tree

поделился автор: @Tagd_Tagd

опубликовано в @gitgate


#bash #chritmas
🔥23👍12
Совет дня:

Немного полезных 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
👍37🔥12
Совет дня:

Работающий почти везде visual bell для включение в bash скрипты, например для индикации окончания какого то этапа.

printf '\e[?5h'; sleep 0.2 ; printf '\e[?5l'


опубликовано в @gitgate

#tips #bash
👍27🔥8
Совет дня:

Простая арифметика прямо в CLI для bash

echo $((2+2*4))  


публиковано в @gitgate

#tips #bash #cli
🔥15👍10
bunster - скомпилируйте сценарии оболочки bash в статические двоичные файлы.

Вы когда-нибудь хотели, чтобы ваши сценарии оболочки были быстрее, портативнее и безопаснее? Bunster воплощает это в жизнь, преобразуя ваши сценарии оболочки в эффективные автономные двоичные файлы, которые легко распространять и развертывать на разных платформах (на данный момент поддерживается только Unix) .

В отличие от других инструментов, Bunster не просто оборачивает ваши сценарии в двоичный файл - он компилирует их в эффективный машинный код, используя мощную цепочку инструментов Go. Это обеспечивает производительность, портативность и надежность.

Технически говоря, Bunster на самом деле является shell-to-Go транслятором, который генерирует исходный код Go из ваших скриптов. Затем при необходимости используется Go Toolchain для компиляции кода в исполняемую программу.

https://github.com/yassinebenaid/bunster

опубликовано в @gitgate

#bash #go #binary #compiller
👍14🔥12
bashtop - монитор ресурсов, который показывает использование и статистику процессора, памяти, дисков, сети и процессов.

Возможности:
-простота в использовании, система меню, вдохновленная игрой.
- быстрый и отзывчивый пользовательский интерфейс с выбором процесса клавишами ВВЕРХ и ВНИЗ.
- функция отображения подробной статистики выбранного процесса.
- возможность фильтровать процессы.
- легкое переключение между вариантами сортировки.
- отправка SIGTERM, SIGKILL, SIGINT выбранному процессу.
- меню пользовательского интерфейса для изменения всех параметров файла конфигурации.
- график автоматического масштабирования для использования сети.
- показывает сообщение в меню, если доступна новая версия
- показывает текущие скорости чтения и записи дисков.
- несколько методов сбора данных, которые можно переключать при работе в Linux.

https://github.com/aristocratos/bashtop

опубликовано в @gitgate

#bash #cli #tui #top
🔥7👍6
Совет дня:

Показать в bash длину массива

echo $#<array>[@]

или если совсем правильно

echo ${#arrayname[@]}


Пример:

--> ARRAY=("one" "two" "three")
--> echo $ARRAY
one two three
--> echo $#ARRAY[@]
3


опубликовано в @gitgate

#tips #bash
👍28🔥10
Совет дня:

Как в 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
👍20🔥16
Совет дня:

Или 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
🔥18👍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
👍17🔥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
👍9🔥5