$ sudo dpkg -i /path/to/deb/file
$ sudo apt-get install -f
«совпадений не найдено» означает, что zsh считает слово шаблоном подстановки. Чтобы сообщить zsh, что вы хотите использовать это слово буквально, а не интерпретировать его как подстановочный знак, используйте кавычки:
npm install --save-dev '@typescript-eslint/eslint-plugin@^4.0.0'
npm install --save-dev "@typescript-eslint/eslint-plugin@^4.0.0"
npm install --save-dev @typescript-eslint/eslint-plugin@\^4.0.0
Здесь работают как одинарные, так и двойные кавычки.Разница между ними заключается в том, что некоторые символы сохраняют свое особое значение в двойных кавычках (!"$\`
), но только сам '
сохраняет свое особое значение после'
(для завершения одиночной -литеральной строки в кавычках ). В качестве альтернативы поставьте обратную косую черту перед каждым символом, который имеет особое значение для оболочки.
Здесь проблематичным персонажем является не @
, а ^
. @
не нуждается в защите :он может быть частью конструкции с подстановочными знаками @(…)
, но только когда включена опция kshglob
и за ней следует открывающая скобка, которая в любом случае должна быть заключена в кавычки и этого было бы достаточно, чтобы защитить @
. ^
не является подстановочным знаком по умолчанию, но он один(^foo
означает «все, что не соответствует foo
» ), когда включена очень популярная опция extended_glob
. ~
также является подстановочным знаком подextended_glob
(foo~bar
и означает «все, что соответствует foo
, кроме того, что соответствует bar
» ). ^
также является символом расширения истории , но только если слово начинается с ^
и содержит другой ^
.