On Fri, 16 Jan 2004, Daniel Mróz wrote: > Użytkownik Andrzej Szombierski napisał: > >>#!/bin/sh jest i tak pomijane bo jest zahaszowane > > tak, chociaż na podstawie tej linijki kernel wie że to jest skrypt > > do uruchomienia przez /bin/sh > Nie kernel tylko shell i nie jest pomijane.
A ja bym się jednak nie zgodził. W ogólnym przypadku w momencie wywołania execve() kernel wczytuje sobie pierwsze ileśtam bajtów i sprawdza czy to jest nagłówek elf czy inny czy właśnie "#!". Jeżeli teraz w pierwszej linijce stoi #!/bin/sh, to kernel odpala /bin/sh <nazwaskryptu>, a sh ignoruje wszystkie linijki zaczynające się od "#". Możliwe że niektóre shelle wczytują tę linijkę i uruchamiają interpreter bezpośrednio.. ale np. bash czy zsh tego nie robią. -- : Andrzej Szombierski : [EMAIL PROTECTED] : [EMAIL PROTECTED] : : [EMAIL PROTECTED] ::: radio bez kitu <=> http://bezkitu.com : _________________________________________ http://pld-linux.org/ = faq, howto, newsy dostales tutaj odpowiedz na swoje pytanie? podziel sie z innymi i dopisz do FAQ! http://pld-linux.org/FAQ/
