Le mercredi 02 juillet 2008 à 09:12 +0200, steve a écrit : > Bonjour, > > Je suis en train d'expliquer les scripts sous *nix à un débutant. Je > dois donc passer par le début à savoir le sha-bang (#!) suivi du chemin > absolu de l'interpréteur de commande (/bin/sh par exemple). Je croyais que > cette première ligne était *obligatoire* pour que le script s'exécute. > Or le script suivant : > > <début script> > > echo "Ton nom ?" > read nom > echo "Ton nom est $nom" > > <fin script> > > fonctionne si je le lance par > > 1) sh script.sh et script.sh n'est pas exécutable > > 2) ./script.sh et script.sh est exécutable
Le script est simplement interprété par le shell qui le lance; sh dans le premier cas, le shell courant dans le second cas. La ligne she-bang permet d'indiquer le programme qui devrait être utilisé pour lire le script. En son absence, le shell essaie tout seul. Ici le script est un script shell. Écrit un petit bout de perl ou de python, ou autre. Tu vas voir que si tu cherches à l'invoquer sans she-bang, le shell va t'insulter copieusement. > Donc dans les deux cas sans le sha-bang initial. > > Et là je suis embêté pour expliquer le pourquoi du comment. > > Pourriez-vous éclairer ma lanterne ? > > Merci d'avance De rien. -- David. -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/DebFrFrenchLists Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:" To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

