Команда Unix find не делает то, что я хочу.Вот ситуация
Если я печатаю: find ../tmp -name "\*tmp\*"
, он корректно выводит файлы, содержащие имя «tmp» в папке tmp
, но когда я печатаю:
dir=../tmp #assign ../tmp as a variable named dir
find ${dir} -name "\*tmp\*"
вывод говорит: Нет такого файла или каталога
Я предполагаю, что команда find предполагает, что переменная "dir" в качестве файла для поиска?Как я могу обойти эту проблему?Причина, по которой я хочу это знать, заключается в том, что я могу передать путь в качестве аргумента для моего сценария.Спасибо
----------- Дополнительный комментарий
Я использую оболочку bash.Извините за путаницу.Приведенный выше код работает.Настоящая проблема - когда я включаю структуру {} в переменную.Например, когда я набираю
dir = .. / {tmp1, tmp3} #assign ../ enjtmp1,tmp3} в качестве переменной с именем dir
find $ {dir} -name"* tmp *"
вывод говорит: нет такого файла или каталога Почему ??