А нету никаких "особых случаев". Элементы наподобие звёздочки или точки с запятой по умолчанию обрабатываются шеллом. Точка. И в команду попадает уже результат обработки - не символы "звёздочка точка флак", а уже список файлов. Ну, и точка с запятой на последовательность запуска влияет - опять таки последовательность запуска команд в шелле. Соответственно, если эти или какие-то подобные символы - ну, например, знак амперсанда - хочется передать самой команде напрямую, их либо надо поодиночке заэкранировать, либо весь аргумент в кавычки поставить. Самое сложное тут - осознать, где кончается область ответственности шелла и начинается работа самой команды.
Mikhail Ramendik wrote: > > > 2008/9/8 Dmitry Fedorov <[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> > > 2008/9/8 locke314: > > кажется, так: > > $ find -name *.flac -exec ./myecho {} \ ; > > неа - * незаэкранирована. > судя по отсутствию первого обязательного параметра - стартовой > директории поиска, > в текущей директории есть файлы *.flac, которые расширятся шеллом и > find обломится. > > > К счастью, файлов в самой директории не было и всё вроде бы работает. > > Пошёл изучать альтернативы bash внимательно. Такое количество "особых > случаев" с нормальным скриптованием по-моему несовместимо. > > > -- > Yours, Mikhail Ramendik -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

