Mes 2 centimes dans cette discussions.
La syntaxe
permet de dire quel est l'interpréteur qui doit être utilisé pour la suite du script. Ceux qui codent en perl mettront plutôt quelquechose comme
Sans cela, le système risque de mal comprendre ce qu'on lui demande.
Le PATH
Le PATH définit l'ensemble des répertoires/dossiers dans lesquels le système va chercher des exécutables. Dans le cas présent, le script ne se trouve pas dans un des répertoires précisés et donc, le système ne le trouve pas. L'ajout du ./ devant le nom du script précise ce qu'on appelle un "chemin relatif" c-à-d le chemin à parcourir depuis l'endroit où je suis jusqu'à l'endroit où se trouve mon exécutable. Dans le cas présent, on lui demande d'exécuter un programme dans le répertoire courant.
Par contre, je ne dirais pas que le PATH est mal paramétré. Il est paramétré en suivant des recommendations de sécurité. Par contre, ce que je fais régulièrement, c'est de créer un répertoire bin dans mon dossier personnel et d'ajouter ce répertoire à la fin du PATH système.
(Attention, ici, je n'ai pas mon Mac sous les yeux mais un Linux, les infos ne seront peut-être pas correctes à 100%) Pour cela, je modifie le fichier .bashrc à l'aide de vi et j'ajoute les lignes suivantes:
Bloc de code:
PATH=$PATH:/Users/monuser/bin
export PATH
J'espère que ces quelques explications sont claires...