|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Vlad Gnatov 2:5020/400 09 Nov 2006 00:11:59 To : Artem S. Ignatiev Subject : Re: прикол -------------------------------------------------------------------------------- Artem S. Ignatiev пишет: VG>> А вообще, builtin ${0##*/} ${1+"$@"} это шаблон для запуска встроенной VG>> команды в шелле, с передачей ей всех аргументов коммандной строки. AS> Что подозрительно -- у меня в man sh синтаксис ${parameter+word} не описан. AS> Есть ${parameter:+word} Перечетайте. Можно вслух и с выражением. ${parameter+word}: parameter Set and Not Null -> substitute word parameter Set But Null -> substitute word parameter Unset -> substitute null ${parameter##word}: Remove Largest Prefix Pattern. The word shall be expanded to produce a pattern. The parameter expansion shall then result in parameter, with the largest portion of the prefix matched by the pattern deleted. AS> Что не помогает мне понять, почему не builtin ${0##*/} "$@" Потому что в старых борнах (до SRV3) при отсутствии агрументов $@ раскрывался в Set But Null вместо Unset. Данная конструкция проверяет $1 и если он Unset, то делает Unset и $@ p.s. Вы как-нибудь в configure любой загляните - узнаете много нового ') -- Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru --- ifmail v.2.15dev5.3 * Origin: Talk.ru (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/6488666adf58.html, оценка из 5, голосов 10
|