В Bash отсутствие кавычек вокруг переменной иногда приводит к неожиданным последствиям.
Представьте, что у нас есть файл с пробелом в названии:
file="important backup.txt"
rm $file
Вместо удаления одного файла Bash передаст
rm два аргумента:rm important backup.txt
⚠️ Если в каталоге существуют файлы
important и backup.txt, будут удалены именно они.🔥 Правильный вариант:
rm -- "$file"
Кавычки защищают от разбиения значения на отдельные аргументы и раскрытия шаблонов
* и ?. А -- запрещает rm интерпретировать последующие аргументы как опции.💡 Без кавычек расширение переменной в Bash может подвергаться разбиению на слова и подстановке имён файлов. Казалось бы — мелочь, но результат может быть разным.
Если нравится такой формат, сохраняй и ставь — 👍
😎 PyLinux | #linux #bash
