Я прочитал много вопросов и ответов, как этот и этот
Я знаю, что подстановочные знаки раскрываются оболочкой перед выполнением команды, и они являются функцией оболочки. Также подстановочные знаки работают с теми командами, которые могут принимать много аргументов. В find . -name *.rb
случае мы имеем более одного файла в текущем каталоге find
даст нам сообщение об ошибке , потому что находка не может принимать несколько аргументов и пути решения этого являются:
find . -name "*.rb"
find . -name '*.rb'
find . -name \*.rb
Мы избегаем звездочки и предотвращаем расширение оболочкой, но подстановочные знаки - это особенность оболочки; когда мы убегаем, оболочка звездочки не знает о ее значении и должна найти файл с именем *.rb
, так как же в этом случае расширяется звездочка?