Когда подстановочные знаки должны быть внутри / снаружи двойных кавычек?

Как правильно использовать подстановочный знак и переменную для удаления многих файлов? Это моя переменная"$dir"

$ echo "$dir"
/home/path/to/file

Здесь у меня есть подстановочный знак внутри двойных кавычек, но он не работает:

$ rm "$dir/data/ffg_per_product/ffg*"
rm: cannot remove `/home/path/to/file/data/ffg_per_product/ffg*': No such file or directory

Здесь у меня есть подстановочный знак вне двойных кавычек, и это работает:

$ rm "$dir/data/ffg_per_product/ffg"*

И здесь вы можете увидеть файлы были удалены:

$ ls -lth ffg_per_product/ffg* | wc -l
ls: cannot access ffg_per_product/ffg*: No such file or directory
0

Итак, что я хочу знать, правильно ли я использую кавычки для удаления файловrm "$dir/data/ffg_per_product/ffg"* с подстановочными символами в кавычках? Или есть другой / лучший способ?

НОТА: вероятно, очевидно для некоторых, но только для справки и, чтобы быть ясным, то же самое относитсяls напримерls "$dir/data/ffg_per_product/NAME"* | wc -lв этом случае подстановочный знак должен быть вне двойных кавычек.

Ответы на вопрос(1)

Ваш ответ на вопрос