TGViewer
BashTex | Linux BashTex | Linux @bash_tex · 2.51K subscribers
Post #497 1.04K
Захват вывода команды в переменную

Есть два способа сохранить вывод команды в переменную. Формально оба работают, но один из них устарел.

▪️ Правильный способ


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
  • 👍 7
More from @bash_tex
  1. Oct 8, 2026Bridge FDB - как Linux bridge узнаёт, где находится MAC Linux bridge не знает заранее, за…
  2. Oct 7, 2026/dev/tcp - сетевое соединение средствами Bash В Bash есть малоизвестная возможность работа…
  3. Oct 6, 2026Ephemeral ports - почему заканчиваются исходящие TCP-порты Когда приложение устанавливает…
  4. Oct 5, 2026name_to_handle_at() - как получить файловый объект без обычного пути В Linux обычно обраща…
  5. Oct 2, 2026madvise() - как процесс подсказывает ядру, как он собирается использовать память Когда про…
  6. Oct 1, 2026flock vs fcntl - почему две блокировки одного файла могут вести себя совершенно по-разному…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →