[Comm] shell scripts, was: После обновления пропали иконки на рабочем столе

Alexey Tourbin at на altlinux.ru
Пт Авг 31 17:23:24 MSK 2012


On Thu, Aug 30, 2012 at 10:37:23PM +0400, Dmitry Chistikov wrote:
> Alexey Tourbin, Aug. 30, 2012, 22:16 +0400:
> > On Thu, Aug 30, 2012 at 09:55:37PM +0400, Dmitry Chistikov wrote:
> > > <<[...] Если файл является исполняемым и содержит текст, то оболочка
> > > считает, что это файл с командами оболочки. Такой файл называется
> > > *командным файлом оболочки*.>>
> > 
> > Кажется, эта ситуация обрабатывается немного по-разному разными системными
> > вызовами.  Так, execvp(3) пробует запустить /bin/sh самостоятельно, если
> > предыдущий пробный вызов execve(2) отвалился через ENOEXEC.  Тогда как
> > execv(3) не пробует запускать /bin/sh, надеясь что его запустит ядро.
> > 
> > Попробуйте покопать эту тему, там не всё так просто, я до конца не разобрался,
> > "кто на ком стоял". :-)
> 
> Строго говоря, я имел в виду чисто статическое определение,
> безотносительно последствий для системных вызовов и возникающих
> ситуаций =) Но тема действительно интересная!

Это какой-то очень древний stuff, которому уже с 30 лет.  Этот stuff,
насколько я помню, даже упоминается в APUE (1 изд. "Advanced programming
in the Unix envoronment", 1992).

> Некоторые пояснения есть в разделе RATIONALE страницы exec(3p)
> из man-pages-posix.

$ rpm -ql man-pages-posix |grep exec  
/usr/share/man/man1p/exec.1p.gz


Подробная информация о списке рассылки community