Мне нужно выполнить команду ls, чтобы получить информацию о некоторых типах файлов. Имя файла имеет определенный формат. Первые два слова с указанием даты, на которой файл был сгенерированКоманда ls в UNIX
т.д .:
Report_execution_032916.pdf
Report_execution_033016.pdf
резюме Слово также может прийти вместо отчета.
например:
Summary_execution_032916.pdf
Таким образом, в моем сценарии оболочки я ставлю эти строки кодов
DATE=`date +%m%d%y`
Model=Report
file=`ls ${Model}_execution_*${DATE}_*.pdf`
Но значение модели всегда получает решенных к «Справке», и, следовательно, я получаю:
ls: cannot access REPORT_execution_*032916_*.pdf: No such file or directory
Я застрял в том, как разрешение модели происходит здесь.
Я не могу воспроизвести здесь точный код. Поэтому я изменил некоторые имена переменных. Первоначально я использовал тип имени переменной вместо модели. Но модель является, по которой я использую в своей фактической код
[Почему вы не должны разобрать выход LS] (http://mywiki.wooledge.org/ParsingLs). При этом я не вижу **, почему ** 'type' должен переходить в верхний регистр. Подождите ... ваши примеры имен файлов ** не ** имеют расширение '.pdf', а строка' file = 'ожидает один ...?!? – DevSolar
Вы уверены, что вы опубликовали именно то, что у вас есть? '$ DATE' var не следует расширять, поскольку ваша команда неверна (отсутствует' $ '). Но ваш результат показывает, что это ... – Mat
Привет, Спасибо за ответ. У выходных файлов MY есть расширение .pdf. Я соответствующим образом изменил вопрос и написал точную ошибку, которая была выброшена. –