|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Konstantin Khomoutov 2:5030/385.77 19 Nov 2002 05:01:01 To : Jeff MacLoue Subject : Re: Есть замена досовскому if exist=3D*.exe --------------------------------------------------------------------------------
Jeff MacLoue wrote:
>AS> AR> Подскажите, как проверить наличие файлов по маске в скрипте (sh/bash)
>AS> AR> ?
>AS> man test
>AS>
>AS> Что-то вроде
>AS> [ -f *.exe ] && echo Ok || echo "failed"
> *.exe bash'ем заменится на что-то вроде "1.exe 2.exe 3.exe" (без кавычек,
> естественно), вследствие чего -f обломается с ошибкой. Вот find или ls
> попользовать - дело более надежное.
В своё время для решения задачи "существует ли хотя бы один файл, подходящий
под набор масок?" я сделал примерно следующее:
pattern='*.exe *.com *.bat'
[ "`echo $pattern`" != "$pattern" ] && echo "found"
Возможно, что globbing в shell можно сделать и без echo, но вот как
именно -- я не знаю ;-).
--- slrn/0.9.7.1 (Linux)
* Origin: FIDOGATE (2:5030/385.77)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/6108151af8d49.html, оценка из 5, голосов 10
|