Несколько месяцев назад я татуировал вилку бомбы на моей руке, и я пропустил пробелы, потому что я думаю, что они выглядят лучше без них. Но, к моему ужасу, иногда (не всегда), когда я запускаю его в оболочке, он не запускает вилку, но он просто дает синтаксическую ошибку.
bash: syntax error near unexpected token `{:'
Вчера это случилось, когда я попытался запустить его в оболочке Bash, а затем добавил добавленные пробелы, и он неожиданно сработал, :(){ :|:& };:
вместо :(){:|:&};:
Имеет ли значение пробел; я сделал татуировку синтаксической ошибки на моей руке?!
Кажется, что всегда работает в zsh, но не в Bash.
Связанный вопрос не объясняет ничего о пробелах, что на самом деле является моим вопросом; Почему для Bash требуется пропустить пробел, чтобы иметь возможность правильно его разобрать?