Знаете, чем отличается [[ ]] от [ ] ?
Скрипты с двойными скобками будут работать нативно в bash и ksh. А в POSIX-оболочках таких, как например sh — выпадет ошибка.
А еще в двойных скобках можно использовать операторы: ||, &&, <, ==, =~. В sh такое провернуть не получится.
При использовании оператора < в двойных скобках, экранирование не нужно.
Примеры:
Если хотите, чтобы скрипты работали везде, используйте синтаксис с одинарными скобками. Но, в свою очередь, использование двойных скобок и связанных с ними фич, делают код более читаемым и ясным для понимания.
Скрипты с двойными скобками будут работать нативно в bash и ksh. А в POSIX-оболочках таких, как например sh — выпадет ошибка.
А еще в двойных скобках можно использовать операторы: ||, &&, <, ==, =~. В sh такое провернуть не получится.
При использовании оператора < в двойных скобках, экранирование не нужно.
#/bin/shГлавная фича двойных скобок — использование регулярок.
[ "$s < abc" ]
#/bin/bash
[[ abc < abc ]]
Примеры:
#/bin/bashЕсли заменить первую строчку на #/bin/sh, то после запуска вылетит ошибка [[: not found.
s="abc123"
[[ "$s" == abc* ]] # true (globbing)
[[ "$s" == "abc*" ]] # false (literal matching)
[[ "$s" =~ [abc]+[123]+ ]] # true (regular expression)
[[ "$s" =~ "abc*" ]] # false (literal matching)
Если хотите, чтобы скрипты работали везде, используйте синтаксис с одинарными скобками. Но, в свою очередь, использование двойных скобок и связанных с ними фич, делают код более читаемым и ясным для понимания.
👍12❤4🥰4🤩4😁2
Мы продолжаем собирать ваши истории о смене профессии и трудоустройстве в IT, чтобы написать большую аналитическую статью.
👉Если вы еще не рассказывали о своем опыте, пройдите короткий опрос по ссылке.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3😁3
🤔❓ Grafana 10: на что стоит обратить внимание в новом релизе
На GrafanaCON 2023 объявили о выходе десятой версии Grafana — инструмента для мониторинга и визуализации данных. Десятая версия — это последний крупный релиз, в котором появилось множество новых функций.
Grafana 10 помогает: подробнее анализировать данные и приходить к надежным выводам, удобнее работать в команде и делать более красивые дашборды. Grafana 10 полезна как опытным аналитикам, так и тем, кто только начинает свой путь.
👉 Если у вас уже установлена предыдущая версия Grafana, обновите ее
👉 Если предыдущая версия не установлена, скачайте Grafana 10
👉 Если вы не хотите быстро изучить новые функции без установки, зарегистрируйтесь на Grafana Cloud — там есть бесплатный доступ и подписки для любого сценария использования
Полный видос GrafanaCON можно посмотреть здесь.
Читать статью
#почитать
На GrafanaCON 2023 объявили о выходе десятой версии Grafana — инструмента для мониторинга и визуализации данных. Десятая версия — это последний крупный релиз, в котором появилось множество новых функций.
Grafana 10 помогает: подробнее анализировать данные и приходить к надежным выводам, удобнее работать в команде и делать более красивые дашборды. Grafana 10 полезна как опытным аналитикам, так и тем, кто только начинает свой путь.
👉 Если у вас уже установлена предыдущая версия Grafana, обновите ее
👉 Если предыдущая версия не установлена, скачайте Grafana 10
👉 Если вы не хотите быстро изучить новые функции без установки, зарегистрируйтесь на Grafana Cloud — там есть бесплатный доступ и подписки для любого сценария использования
Полный видос GrafanaCON можно посмотреть здесь.
Читать статью
#почитать
❤🔥23👍5👏2
🤔 Очередной #дайджест для DevOps-ов
🔶 «Это не админ на стероидах» — в чём суть роли DevOps
🔶 tailspin — позволяет просматривать логи с подсветкой, что добавляет дополнительное удобство, в ситуациях, когда требуется работать с логами вручную
🔶 Линус Торвальдс, в беседе с Дирком Хонделем — о новых релизах, новостях и разработке
🔶 Postgres-howtos — 70+ советов по работе с PostgreSQL
🔶 snips.sh — pastebin на базе SSH с удобным UI и веб-мордой
🔶 «Это не админ на стероидах» — в чём суть роли DevOps
🔶 tailspin — позволяет просматривать логи с подсветкой, что добавляет дополнительное удобство, в ситуациях, когда требуется работать с логами вручную
🔶 Линус Торвальдс, в беседе с Дирком Хонделем — о новых релизах, новостях и разработке
🔶 Postgres-howtos — 70+ советов по работе с PostgreSQL
🔶 snips.sh — pastebin на базе SSH с удобным UI и веб-мордой
🔥28🥰3🌚1
Чему бы вы хотели научиться?
Пишите в комментариях
Пишите в комментариях
🚀 Kyverno — это мощный инструмент для управления политиками в среде Kubernetes. Он может проверять, изменять и генерировать конфигурации с помощью контроля доступа и фонового сканирования.
📙 Документация
👉 Быстрый старт
👉 Установка
👉 Политики
🙋♂️ Getting Help
👉 Для запросов функций и ошибок есть issue
👉 Для обсуждений есть Slack
👉 Для доступа к митингам — вот
👉 Чтобы получать обновления — репозиторий
#туториал
📙 Документация
👉 Быстрый старт
👉 Установка
👉 Политики
🙋♂️ Getting Help
👉 Для запросов функций и ошибок есть issue
👉 Для обсуждений есть Slack
👉 Для доступа к митингам — вот
👉 Чтобы получать обновления — репозиторий
#туториал
❤6👍4👏1
🎅 Новый год — отличное время для старта!
🎄Новый год начинается с подарков, а лучший подарок для себя — новые знания! Потому что ну а когда начинать учиться новому, если не в новом году. Выбирайте курс, оставляйте заявку и менеджер вас проконсультирует — https://proglib.io/w/b963d80d
📚 Начать всегда можно с вводных занятий, чтобы познакомиться с преподавателями и форматом обучения.
Конечно, советуем обратить внимание на наши самые популярные курсы:
– Математика для Data Science — 19 490 ₽ (вместо 29 990 ₽)
– Алгоритмы и структуры данных — 23 390 ₽ (вместо 35 990 ₽)
🔥 Все цены на сайте уже включают скидку 35%, поэтому не упустите возможность зайти на курс по самой выгодной цене.
☺️ Доступ бессрочный, поэтому учиться вы сможете в своем темпе.
👉 Если вы сомневаетесь в пользе обучения для своего профессионального трека, оставляете заявку. Менеджер поможет разобраться с этим и любым другим вопросом — https://proglib.io/w/b963d80d
🫶 Всех с наступающим новым годом!
🎄Новый год начинается с подарков, а лучший подарок для себя — новые знания! Потому что ну а когда начинать учиться новому, если не в новом году. Выбирайте курс, оставляйте заявку и менеджер вас проконсультирует — https://proglib.io/w/b963d80d
📚 Начать всегда можно с вводных занятий, чтобы познакомиться с преподавателями и форматом обучения.
Конечно, советуем обратить внимание на наши самые популярные курсы:
– Математика для Data Science — 19 490 ₽ (вместо 29 990 ₽)
– Алгоритмы и структуры данных — 23 390 ₽ (вместо 35 990 ₽)
🔥 Все цены на сайте уже включают скидку 35%, поэтому не упустите возможность зайти на курс по самой выгодной цене.
☺️ Доступ бессрочный, поэтому учиться вы сможете в своем темпе.
👉 Если вы сомневаетесь в пользе обучения для своего профессионального трека, оставляете заявку. Менеджер поможет разобраться с этим и любым другим вопросом — https://proglib.io/w/b963d80d
🫶 Всех с наступающим новым годом!
❤2
#вопросы_с_собеседования
В чем разница между docker stop и docker pause?
В том, что они разные сигналы посылают
docker pause — SIGSTOP(19), что приостанавливает процессы в контейнере
docker stop — sigterm и sigkill использует к главному процессу контейнера
В чем разница между docker stop и docker pause?
👍4❤2
🤔 Очередной #дайджест для DevOps-ов
❎ Аутентификация в Kubernetes через Gitlab'овские JWT токены — последовательность процессов при деплое, используя kubectl/helm
❎ Что происходит, когда вы создаёте Pod в Kubernetes? — статья будет полезна тем, кто изучает Kubernetes, знакомится с его компонентами и абстракциями
❎ Классификация ЦОД — что такое Tier и какой подходит бизнесу
❎ Топ-20 лучших практик Dockerfile — как предотвратить проблемы с безопасностью и оптимизировать контейнеризированные приложения
❎ Python для сетевых инженеров — курс от базовых вещей, до ООП
❎ Аутентификация в Kubernetes через Gitlab'овские JWT токены — последовательность процессов при деплое, используя kubectl/helm
❎ Что происходит, когда вы создаёте Pod в Kubernetes? — статья будет полезна тем, кто изучает Kubernetes, знакомится с его компонентами и абстракциями
❎ Классификация ЦОД — что такое Tier и какой подходит бизнесу
❎ Топ-20 лучших практик Dockerfile — как предотвратить проблемы с безопасностью и оптимизировать контейнеризированные приложения
❎ Python для сетевых инженеров — курс от базовых вещей, до ООП
❤4🥰2👍1
🎄✨ До Нового года осталось совсем чуть-чуть, поэтому мы подводим итоги
🧑🎄 За год наше комьюнити стало больше почти на 3000 человек
❤️ Особенно вам понравились вот эти посты:
Шпаргалка по протоколам коммуникации, DevOps, CI/CD
Знаете, чем отличается [[ ]] от [ ]
Дайджест новых статей и инструментов
Протокол RADIUS: Управление доступом и безопасность в сетях
KubePug
Вопрос с собеседования
💜 А ещё вы с интересом читали эти статьи:
ТОП-8 книг по DevOps в 2023 году
Дорожная карта DevOps-инженера в 2023 году
🧑💻 В 2023 году мы запустили несколько новых каналов:
Библиотека собеса по DevOps | вопросы с собеседований
Библиотека задач по DevOps | тесты, код, задания
🎁 И последнее, но не менее важное: мы сделали скидку -35% на все курсы нашей академии proglib.academy
🧑🎄 За год наше комьюнити стало больше почти на 3000 человек
❤️ Особенно вам понравились вот эти посты:
Шпаргалка по протоколам коммуникации, DevOps, CI/CD
Знаете, чем отличается [[ ]] от [ ]
Дайджест новых статей и инструментов
Протокол RADIUS: Управление доступом и безопасность в сетях
KubePug
Вопрос с собеседования
💜 А ещё вы с интересом читали эти статьи:
ТОП-8 книг по DevOps в 2023 году
Дорожная карта DevOps-инженера в 2023 году
🧑💻 В 2023 году мы запустили несколько новых каналов:
Библиотека собеса по DevOps | вопросы с собеседований
Библиотека задач по DevOps | тесты, код, задания
🎁 И последнее, но не менее важное: мы сделали скидку -35% на все курсы нашей академии proglib.academy
❤3🔥1
🏖️ Чек лист идеального отдыха: 5 психологических техник расслабления
Измотаны бесконечной работой и не можете расслабиться? Попробуйте 5 психологических техник — от глубокого дыхания до визуализации пляжа — которые помогут насладиться заслуженным отдыхом.
Читать статью
Измотаны бесконечной работой и не можете расслабиться? Попробуйте 5 психологических техник — от глубокого дыхания до визуализации пляжа — которые помогут насладиться заслуженным отдыхом.
Читать статью
👍4
Знали ли вы про такую команду в linux как - «yes»?
Например, есть у вас консольная команда, которая во время своей работы будет запрашивать подтверждение: а вы точно уверены, что удаляете тестовую базу данных? Вот на такие случаи и нужна команда «yes», чтобы не руками вводить подтверждение, а делегировать это действие.
Полезно для пайплайнов. Бывает такое, что у программы нет ключей типа apt -y install, а подтверждать как-то в автоматическом режиме нужно.
Синтаксис проброса стандартный, через систему пайпов:
В примере выше, когда пакетный менеджер попросит нажать Y, команда «yes» автоматически это сделает и начнется процесс установки.
Не забываем, про передачу аргументов, если внешняя программа например хочет чтобы вы ввели слово: «hello» делаем так:
Если есть команда «yes», значит должна быть и «no». Но увы 😁. Так вот если нужно отменить, передайте в «yes» аргументом строку «no»💩 .
Что-то может запросить простого нажатия Enter, например когда в репозиторий добавляется gpg ключ. Как послать Enter? А вот так:
Команда yes служит для вывода в стандартный поток (stdout) строки «y» или любой другой строки. Если ее запустить по умолчанию, команда будет бесконечно сыпать строку «y».
Например, есть у вас консольная команда, которая во время своей работы будет запрашивать подтверждение: а вы точно уверены, что удаляете тестовую базу данных? Вот на такие случаи и нужна команда «yes», чтобы не руками вводить подтверждение, а делегировать это действие.
Полезно для пайплайнов. Бывает такое, что у программы нет ключей типа apt -y install, а подтверждать как-то в автоматическом режиме нужно.
Синтаксис проброса стандартный, через систему пайпов:
yes | apt install nginx
В примере выше, когда пакетный менеджер попросит нажать Y, команда «yes» автоматически это сделает и начнется процесс установки.
Не забываем, про передачу аргументов, если внешняя программа например хочет чтобы вы ввели слово: «hello» делаем так:
yes hello | apt install nginx
Но обычно на практике, в 99% случаев команда «yes» запускается без аргументов, так как большинство запрашивает именно Yes.
Если есть команда «yes», значит должна быть и «no». Но увы 😁. Так вот если нужно отменить, передайте в «yes» аргументом строку «no»
Что-то может запросить простого нажатия Enter, например когда в репозиторий добавляется gpg ключ. Как послать Enter? А вот так:
yes "" | <твоя команда>
Это сработает как Enter потому, что команда «yes» выводит в stdout не просто сроку Y, но еще и завершает ее в конце символом Enter. Вот именно поэтому при запуске чистого «yes», строчки на экране будут идти столбиком.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24❤1🔥1