928просмотров
36.1%от подписчиков
6 марта 2026 г.
Score: 1.0K
Захват вывода команды в переменную Есть два способа сохранить вывод команды в переменную. Формально оба работают, но один из них устарел. ▪️ Правильный способ files=$(ls /etc) Плюсы: легко читать
можно вкладывать команды
меньше сюрпризов с экранированием count=$(wc -l < file.txt) ▪️ Устаревший способ files=ls /etc Минусы: плохо читается
сложно экранировать
вложенность превращается в ад # выглядит ужасно и ломается
result=echo \date\ ▪️ Почему backticks ломают скрипты конфликтует с кавычками
ошибки трудно отлаживать
в больших скриптах быстро становится нечитаемо ▪️ Общая ловушка: переносы строк. Оба способа схлопывают переводы строк в пробелы: list=$(cat file) Если важны строки: mapfile -t list < file BashTex 📱 #bash #utils