Vous devez rendre le fichier exécutable. Vous pouvez le faire avec
chmod +x <filename>
où est le nom de votre script, puis vous devez le faire précéder de ./
pour demander au shell d'exécuter un fichier dans le répertoire local, comme :
./script.sh
Vous ne pouvez exécuter que les fichiers qui se trouvent dans votre PATH
ou que vous leur indiquiez un chemin d'accès. ./
, le répertoire local, n'est pas dans le PATH
par défaut car quelqu'un peut l'utiliser à des fins néfastes. Imaginez un script appelé ls
déposé dans un répertoire, vous allez dans ce répertoire, exécutez ls
et ce script fait quelque chose de mal.
Pendant que vous y êtes, vous voudrez peut-être le rendre plus portable en exécutant shell au lieu de bash en utilisant :
#!/bin/sh
ou en exécutant bash, peu importe où il est installé tant qu'il est installé :
#!/usr/bin/env bash