Восклицательный знак внутри двойных кавычек приводит к странной ошибке разбора [duplicate]
На этот вопрос уже есть ответ здесь:
Странное поведение argv при передаче строки, содержащей «!!!!» 3 ответаПочему эта командная строка работает:
$ output='Irrelevant'; if [[ $output =~ Something ]]; then echo "I found something in the output." ; fi
И этот дает мне странную ошибку разбора?
$ output='Irrelevant'; if [[ $output =~ Something ]]; then echo "I found something in the output!" ; fi
-bash: !": event not found
только изменение по сравнению с первой версией заключается в том, что предложение, отображаемое в кавычках, заканчивается восклицательным знаком.Почему Bash дает мне эту ошибку во второй версии?
В случае, если это имеет значение, это вывод из:bash --version
GNU bash, version 4.2.24(1)-release (x86_64-pc-linux-gnu)