💥 Почему
Привет, терминальный заклинатель! Кажется, ты добавил
🤔 Что вообще делает
> "Если любая команда завершится ошибкой, — останови скрипт немедленно".
Это полезно для CI/CD, бэкапов и всего, что не прощает ошибок. Но...
⚠️ Проблема: поведение
Вот типичный случай:
Скрипт завершится после
Но теперь внимание:
🎉 Здесь
🔍 Когда
Если ты используешь команды вроде:
Скрипт продолжит работу, даже если
✅ Как правильно использовать
1. Сначала — пойми, где оно действительно нужно (например, в CI/CD, деплое, тестах).
2. Используй его в отдельных функциях, а не во всём скрипте сразу.
3. Если обрабатываешь ошибку вручную — используй
👨💻 Итог:
🌳 Ветка: https://stackoverflow.com/questions/19622198/what-does-set-e-mean-in-a-bash-script
📩 Завтра: BTRFS: Продвинутые техники для настоящих гуру!
Включи 🔔 чтобы не пропустить!
____________________
Дополнительный материал:
🧠 -Настрой мониторинг сети в реальном времени с Prometheus и Grafana
🧠 - b2-tools — простое и быстрое резервное копирование в облако
🧠 - Ты не знал, что cat умеет это! Лайфхаки для работы с файлами в Linux
#stackoverflow @LinuxSkill #bash #linux #скрипты #автоматизация #devops #linuxskill #сетевые_лайфхаки #shell #ci_cd #ошибки
set -e
в bash может сломать тебе всё!Привет, терминальный заклинатель! Кажется, ты добавил
set -e
в свой bash-скрипт и думал, что теперь ошибки сами себя поймают? А потом скрипт резко перестал доходить до конца?.. Давай разберемся, в чём подвох.🤔 Что вообще делает
set -e
?set -e
говорит интерпретатору bash: > "Если любая команда завершится ошибкой, — останови скрипт немедленно".
Это полезно для CI/CD, бэкапов и всего, что не прощает ошибок. Но...
⚠️ Проблема: поведение
set -e
— неочевидно!Вот типичный случай:
#!/bin/bash
set -e
false
echo "Я не выполнюсь!"
Скрипт завершится после
false
, и echo
даже не запустится. Всё логично. Но теперь внимание:
#!/bin/bash
set -e
if false; then
echo "Упс"
fi
echo "А вот и я!"
🎉 Здесь
echo
выполнится! Потому что ошибки внутри if
, while
, until
и &&/||
— игнорируются!🔍 Когда
set -e
может навредить?Если ты используешь команды вроде:
grep "что-то" файл.txt || echo "не найдено"
Скрипт продолжит работу, даже если
grep
вернёт ненулевой код. Но теперь представь, что ты этого не знал… 😬✅ Как правильно использовать
set -e
?1. Сначала — пойми, где оно действительно нужно (например, в CI/CD, деплое, тестах).
2. Используй его в отдельных функциях, а не во всём скрипте сразу.
3. Если обрабатываешь ошибку вручную — используй
||
, if
, trap
, set +e
.👨💻 Итог:
set -e
— не волшебная палочка. Это строгий сторож, который иногда рубит по-живому. Используй с умом, тестируй поведение и знай, где он тебя может подставить.🌳 Ветка: https://stackoverflow.com/questions/19622198/what-does-set-e-mean-in-a-bash-script
📩 Завтра: BTRFS: Продвинутые техники для настоящих гуру!
Включи 🔔 чтобы не пропустить!
____________________
Дополнительный материал:
🧠 -Настрой мониторинг сети в реальном времени с Prometheus и Grafana
🧠 - b2-tools — простое и быстрое резервное копирование в облако
🧠 - Ты не знал, что cat умеет это! Лайфхаки для работы с файлами в Linux
#stackoverflow @LinuxSkill #bash #linux #скрипты #автоматизация #devops #linuxskill #сетевые_лайфхаки #shell #ci_cd #ошибки
Stack Overflow
What does 'set -e' mean in a Bash script?
I'm studying the content of this preinst file that the script executes before that package is unpacked from its Debian archive (.deb) file.
The script has the following code:
#!/bin/bash
set -e
#
The script has the following code:
#!/bin/bash
set -e
#
👍16👀1
🚨 Почему
Привет, покоритель терминала! 👨💻👩💻
Многие думают, что
Терминальные эмуляторы — сложные программы. Если файл содержит хитро сформированные escape-последовательности, это может:
- зависнуть весь терминал,
- испортить буфер обмена через OSC 52,
- вызвать баги в системе.
Терминалы вроде GNOME Terminal или xterm исправили многие уязвимости, но 100% защиты нет. Особенно, если файл пришёл из сомнительного источника.
✅ Как безопасно просматривать файлы:
- Используй
- Открывай файлы через
- Никогда не доверяй логам и текстам из внешних источников.
🔒 В безопасности даже самые простые команды требуют внимательности!
🌐 Источник: https://unix.stackexchange.com/questions/780938/is-it-still-unsafe-to-cat-an-arbitrary-file
📩 Завтра: Быстрое обнаружение проблем в сети через массовый пинг
Включи 🔔 чтобы не пропустить!
____________________
Дополнительный материал:
🧠 - Урок 5 — Функции Bash за 49 минут: основы, примеры, фишки
🧠 - Можешь ли ты использовать sudo без пароля? Проверь за 5 секунд!
🧠 - Что будет, если ввести неправильный пароль в sudo?
#stackoverflow #linux #bash #security #terminal #linuxskill
cat
всё ещё опасен в 2025 году?Привет, покоритель терминала! 👨💻👩💻
Многие думают, что
cat
— это безопасная команда для просмотра файлов. Но даже сегодня простое cat file
может быть рискованным!Терминальные эмуляторы — сложные программы. Если файл содержит хитро сформированные escape-последовательности, это может:
- зависнуть весь терминал,
- испортить буфер обмена через OSC 52,
- вызвать баги в системе.
Терминалы вроде GNOME Terminal или xterm исправили многие уязвимости, но 100% защиты нет. Особенно, если файл пришёл из сомнительного источника.
✅ Как безопасно просматривать файлы:
- Используй
cat -v file
— выводит управляющие символы видимыми.- Открывай файлы через
less
(безопаснее для длинного вывода).- Никогда не доверяй логам и текстам из внешних источников.
🔒 В безопасности даже самые простые команды требуют внимательности!
🌐 Источник: https://unix.stackexchange.com/questions/780938/is-it-still-unsafe-to-cat-an-arbitrary-file
📩 Завтра: Быстрое обнаружение проблем в сети через массовый пинг
Включи 🔔 чтобы не пропустить!
____________________
Дополнительный материал:
🧠 - Урок 5 — Функции Bash за 49 минут: основы, примеры, фишки
🧠 - Можешь ли ты использовать sudo без пароля? Проверь за 5 секунд!
🧠 - Что будет, если ввести неправильный пароль в sudo?
#stackoverflow #linux #bash #security #terminal #linuxskill
Unix & Linux Stack Exchange
Is it still unsafe to cat an arbitrary file?
I read this post today and the answers claimed that certain escape sequences could be dangerous in some terminals, this post also has people saying that it can even be unsafe to simply view log fil...
👍13🔥2
💣 Как можно случайно сломать систему, установив ПО вручную?
Привет, линуксоид! 👋
Кажется, что скачать программу с сайта и установить её вручную — это быстро и удобно. Но в Linux это может стоить работоспособности всей системы.
Когда ты устанавливаешь программы через:
-
- компиляцию из исходников
- .deb файлы вне репозиториев
⚡ ты обходишь пакетный менеджер (apt, dnf), и:
- система не отслеживает установку
- обновления и удаление могут стать проблемой
- легко получить конфликт версий библиотек
✅ Как безопасно устанавливать ПО:
- Использовать
- Для .deb-файлов —
- Избегать скриптов
- Размещать ручные установки в
Помни: пакетный менеджер — это твой друг в Linux. 🛡
🌐 Источник: https://unix.stackexchange.com/questions/782971/is-it-safe-to-install-programs-other-than-with-a-distros-package-manager
📩 Завтра: Как etckeeper спасает сервер от криворуких админов!
Включи 🔔 чтобы не пропустить!
____________________
Дополнительный материал:
🧠 - Линус Торвальдс — Человек, который придумал Linux [TED]
🧠 - Карта развития Linux-специалиста
🧠 - Операционная система - общие сведения
#stackoverflow #linux #security #package_manager #apt #bash #linuxskill
Привет, линуксоид! 👋
Кажется, что скачать программу с сайта и установить её вручную — это быстро и удобно. Но в Linux это может стоить работоспособности всей системы.
Когда ты устанавливаешь программы через:
-
curl | sh
- компиляцию из исходников
- .deb файлы вне репозиториев
⚡ ты обходишь пакетный менеджер (apt, dnf), и:
- система не отслеживает установку
- обновления и удаление могут стать проблемой
- легко получить конфликт версий библиотек
✅ Как безопасно устанавливать ПО:
- Использовать
apt
или официальные репозитории.- Для .deb-файлов —
sudo apt install ./file.deb
(а не dpkg -i
).- Избегать скриптов
curl | sh
без проверки кода.- Размещать ручные установки в
/usr/local/
или $HOME/.local
.Помни: пакетный менеджер — это твой друг в Linux. 🛡
🌐 Источник: https://unix.stackexchange.com/questions/782971/is-it-safe-to-install-programs-other-than-with-a-distros-package-manager
📩 Завтра: Как etckeeper спасает сервер от криворуких админов!
Включи 🔔 чтобы не пропустить!
____________________
Дополнительный материал:
🧠 - Линус Торвальдс — Человек, который придумал Linux [TED]
🧠 - Карта развития Linux-специалиста
🧠 - Операционная система - общие сведения
#stackoverflow #linux #security #package_manager #apt #bash #linuxskill
Unix & Linux Stack Exchange
Is it safe to install programs other than with a distro's package manager?
When I moved from Windows to Linux, I have been mercifully blessed with package managers. Most of the time, the official repositories of my distro (currently Debian 12) will have the package I need...
👍18🔥2
⚡ Как скопировать только изменённые файлы с помощью rsync?
Салют! Сегодня разберём одну крутую задачку! Когда работаешь с большими каталогами, часто возникает задача: обновить только изменённые файлы, не трогая новые.
И тут идеально подходит rsync!
Вот как скопировать только те файлы, которые уже есть в целевой папке и имеют изменения:
Расшифруем:
-
-
-
-
💡 Если не хотите замедлять процесс вычислением контрольных сумм, можно убрать
🌐 Источник: https://unix.stackexchange.com/questions/792314/using-rsync-to-copy-only-files-that-have-changed-not-files-that-are-new
📩 Завтра: ТОП-скрипты для автоматизации Linux задач
Включи 🔔 чтобы не пропустить!
____________________
Дополнительный материал:
🧠 - История UNIX. Часть 1
🧠 - История UNIX. Часть 2
🧠 - Установка и настройка Linux-системы: Astra
#stackoverflow #linux #rsync #bash #файлы #linuxskill
Салют! Сегодня разберём одну крутую задачку! Когда работаешь с большими каталогами, часто возникает задача: обновить только изменённые файлы, не трогая новые.
И тут идеально подходит rsync!
Вот как скопировать только те файлы, которые уже есть в целевой папке и имеют изменения:
rsync --checksum --existing -av source/ dest/
Расшифруем:
-
--checksum
— сравнивать файлы по содержимому, а не по дате или размеру.-
--existing
— копировать только те файлы, которые уже есть в dest
, новые не создавать.-
-a
— режим архивации (права, симлинки и т.д.).-
-v
— подробный вывод.💡 Если не хотите замедлять процесс вычислением контрольных сумм, можно убрать
--checksum
, но тогда сравнение будет идти только по дате и размеру.🌐 Источник: https://unix.stackexchange.com/questions/792314/using-rsync-to-copy-only-files-that-have-changed-not-files-that-are-new
📩 Завтра: ТОП-скрипты для автоматизации Linux задач
Включи 🔔 чтобы не пропустить!
____________________
Дополнительный материал:
🧠 - История UNIX. Часть 1
🧠 - История UNIX. Часть 2
🧠 - Установка и настройка Linux-системы: Astra
#stackoverflow #linux #rsync #bash #файлы #linuxskill
Unix & Linux Stack Exchange
Using rsync to copy only files that have changed, not files that are new
I've got two directories, call them "source" and "dest", that have some files in common. There are also a number of files present in one but not the other. I'd like to copy fi...
👍9