❓ Что выведет следующая команда в bash?

❓ Что выведет следующая команда в bash?
echo "*"
📍 Команда запускается в пустом каталоге, где нет файлов вообще.
🔢 Варианты ответа:
A)(no output)
B)*
C).: command not found
D)*: command not found
✅ Правильный ответ: B
💡 Почему?
В bash символ * — это глоб (шаблон подстановки имён файлов).
Если в каталоге нет файлов, * не подставляется, и остаётся как строка.
Поэтому echo "", echo * и echo '' — три разных случая.
-
Без кавычек (echo *): * будет интерпретирована оболочкой как шаблон для поиска файлов (globbing). Команда echo выведет список всех файлов и каталогов в текущей директории (кроме скрытых).
-
В одинарных кавычках (echo '*'): Оболочка передаст echo символ * как есть, без какой-либо интерпретации. echo выведет *.
-
В двойных кавычках (echo "*"): Двойные кавычки также предотвращают интерпретацию * как шаблона поиска файлов. Оболочка передаст echo символ * как есть. echo выведет *.