Совет дня:
Немного полезных
публиковано в @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.
👍15🔥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
Совет дня:
Условные выражения для строковых переменных в
опубликовано в @gitgate
#tips #bash
Условные выражения для строковых переменных в
bash
# True if the shell variable varname is set (has been assigned a value).
[[ -v ${varname} ]]
# True if the length of the string is zero.
[[ -z ${string} ]]
# True if the length of the string is non-zero.
[[ -n ${string} ]]
# True if the strings are equal. = should be used with the test command for POSIX conformance. When used with the [[ command, this performs pattern matching as described above (Compound Commands)
[[ ${string1} == ${string2} ]]
# True if the strings are not equal.
[[ ${string1} != ${string2} ]]
# True if string1 sorts before string2 lexicographically.
[[ ${string1} < ${string2} ]]
# True if string1 sorts after string2 lexicographically.
[[ ${string1} > ${string2} ]]
опубликовано в @gitgate
#tips #bash
👍31🔥10
Совет дня:
Арифметические операции в
опубликовано в @gitgate
#tips #bash
Арифметические операции в
bash
# Returns true if the numbers are equal
[[ ${arg1} -eq ${arg2} ]]
# Returns true if the numbers are not equal
[[ ${arg1} -ne ${arg2} ]]
# Returns true if arg1 is less than arg2
[[ ${arg1} -lt ${arg2} ]]
# Returns true if arg1 is less than or equal arg2
[[ ${arg1} -le ${arg2} ]]
# Returns true if arg1 is greater than arg2
[[ ${arg1} -gt ${arg2} ]]
# Returns true if arg1 is greater than or equal arg2
[[ ${arg1} -ge ${arg2} ]]
# As with other programming languages you can use AND & OR conditions:
[[ test_case_1 ]] && [[ test_case_2 ]] # And
[[ test_case_1 ]] || [[ test_case_2 ]] # Or
опубликовано в @gitgate
#tips #bash
👍15🔥10
semaphore
- современный Web UI
интерфейс для Ansible
, Terraform
, OpenTofu
, PowerShell
, bash
и других инструментов DevOps
.WebUI Semaphore позволяет:
- легко запускайте сценарии
Ansible
, код Terraform
и OpenTofu
, а также скрипты Bash
и PowerShell
.- получатm уведомления о невыполненных задачах.
- eправлятm доступом к вашей системе развертывания.
Ключевая концепция:
- проекты это совокупность связанных ресурсов, конфигураций и задач.
- шаблоны задач это многократно используемые определения задач, которые могут выполняться по требованию или по расписанию.
- задача это конкретный экземпляр задания или операции, выполняемой
semaphore
.- расписания позволяют автоматизировать выполнение задач в указанное время или через определенные интервалы.
- инвентари это набор целевых хостов (серверов, виртуальных машин, контейнеров и т. д.), на которых будут выполняться задачи.
- группа переменных относится к контексту конфига
https://github.com/semaphoreui/semaphore
Демо: https://portal.semaphoreui.com/
опубликовано в @gitgate
#webui #ansible #terraform #opentofu #powershell #bash
👍19🔥14
Rundeck
- программное обеспечение с открытым исходным кодом, которое помогает автоматизировать рутинные операционные процедуры в центрах обработки данных или облачных средах. Rundeck
предоставляет ряд функций, которые облегчат трудоемкую рутинную работу и позволят вам легко масштабировать усилия по автоматизации и создавать самообслуживание для других. Команды могут сотрудничать, чтобы делиться тем, как автоматизируются процессы, в то время как другим доверяют просмотр операционной деятельности или выполнение задач.Rundeck позволяет вам запускать задачи на любом количестве узлов из веб-интерфейса или интерфейса командной строки.
Rundeck
также включает другие функции, которые позволяют легко масштабировать ваши усилия по автоматизации, включая: контроль доступа, построение рабочего процесса, планирование, ведение журнала и интеграцию с внешними источниками для данных узлов и опций.https://github.com/rundeck/rundeck
Документация: https://docs.rundeck.com/docs/
опубликовано в @gitgate
#webui #ansible #powershell #bash
👍10🔥9
xan
- инструмент командной строки CLI
, который можно использовать для обработки CSV
файлов непосредственно из bash
.Он позволяет легко просматривать, фильтровать, разбивать на части, объединять, сортировать и объединять
CSV
файлы, а также предоставляет большой набор составных команд, которые можно объединять в цепочку для выполнения широкого спектра типичных задач.xan
также использует свой собственный язык выражений, чтобы вы могли выполнять сложные задачи, которые невозможно выполнить, полагаясь на самые простые команды. Этот минималистичный язык был адаптирован для данных CSV
и намного быстрее, чем оценка типичных динамически типизированных языков, таких как Python
, Lua
, JavaScript
и т. д.xan
можно использовать для отображения CSV
файлов в терминале для удобства исследования и даже для создания простых визуализаций данных.https://github.com/medialab/xan
опубликовано в @gitgate
#csv #bash #cli
👍23🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
shell-secrets
- небольшой bash
скрипт для хранения переменных среды окружения в зашифрованном виде (с помощью GPG
) в виде файлов и атоматического дешифрования при использовании.Простой, но полезный скрипт для чтения секретных значений из зашифрованных файлов и в то же время для упрощения входа и выхода из разных учетных записей.
https://github.com/waj/shell-secrets
опубликовано в @gitgate
#bash #vars #gpg #cli
👍23🔥7
self-instruction
- самоучитель bash
по материалам бесплатного курса от многоуважаемого @Tagd_Tagd
В материалах рассмотрены множество практических примеров применения bash
, но не забыта и теория и, самое ценное, алгоритмические подходы... Каждый пример детально разбирается с пояснениями и альтернативными вариантами решения. Рекомендуется для самостоятельного неторопливого изучения.
На сегодняшний момент курс успешно завершен, но не исключено что скоро начнется новый набор, не пропустите.. Анонс будет и в @gitgate
https://github.com/tagd-tagd/self-instruction
опубликовано в @gitgate
#bash #cources #knoweledgebase
🔥30👍18
timertab
- простой способ создания, удаления и управления таймерами Systemd
из bash скриптаhttps://github.com/amlamarra/timertab
опубликовано в @gitgate
#systemd #timer #cron #bash
GitHub
GitHub - amlamarra/timertab: A bash script to easily create, delete, & manage Systemd Timers.
A bash script to easily create, delete, & manage Systemd Timers. - amlamarra/timertab
👍12🔥6