Открывающая скобка [
- это специальный символ оболочки; он открывает алгоритм сопоставления с образцом, который говорит «сопоставить любой из символов в скобках». Поскольку у вас есть 4 файла с именами: 1, 4, 5 и 6 в вашем текущем каталоге, когда символы в скобках содержат любую из этих цифр, ваша оболочка заменяет сопоставление с шаблоном этими именами файлов. Когда вы вместо этого используете echo [9876543210]
, вы вызываете echo с тремя параметрами: [
, 9876543210
и ]
.
Вы должны заключить в кавычки параметры вашего оператора echo, чтобы оболочка не увидела его как запрос сопоставления с образцом.
$ echo '[9876543210]'
[9876543210]
(или удалите файлы с именами 1, 4, 5 и 6 - но это обходной путь для демонстрации поведения, а не исправление).