Qu'est-ce qu'un fichier avec l'extension .sh?
C'est un script Bourne shell . Ils sont utilisés dans de nombreuses variantes de systèmes d'exploitation de type UNIX. Ils n'ont pas de "langage" et sont interprétés par votre shell (interpréteur de commandes du terminal) ou si la première ligne est au format
#!/path/to/interpreter
ils utiliseront cet interprète particulier. Votre fichier a la première ligne:
#!/bin/bash
et cela signifie qu'il utilise Bourne Again Shell, appelé bash. C'est à toutes fins pratiques un remplacement pour le bon vieux sh.
En fonction de l'interprète, vous aurez une langue différente dans laquelle le fichier est écrit.
Gardez à l'esprit que dans le monde UNIX, ce n'est pas l'extension du fichier qui détermine ce qu'est le fichier (voir Comment exécuter un script shell).
Si vous venez du monde DOS / Windows, vous serez familiarisé avec les fichiers qui ont des extensions .bat ou .cmd (fichiers batch). Leur contenu n'est pas similaire, mais leur conception est similaire.
Comment exécuter un script shell
Contrairement à certains systèmes d'exploitation stupides, * nix ne s'appuie pas exclusivement sur les extensions pour déterminer quoi faire avec un fichier. Les autorisations sont également utilisées. Cela signifie que si vous essayez d'exécuter le script shell après l'avoir téléchargé, ce sera la même chose que d'essayer "d'exécuter" n'importe quel fichier texte. L'extension ".sh" n'est là que pour votre commodité pour reconnaître ce fichier.
Vous devrez rendre le fichier exécutable. Supposons que vous ayez téléchargé votre fichier en tant que file.sh
, vous pouvez ensuite l'exécuter dans votre terminal:
chmod +x file.sh
chmod
est une commande pour changer les permissions du fichier, +x
définit les permissions d'exécution (dans ce cas pour tout le monde) et enfin vous avez votre nom de fichier.
Vous pouvez également le faire dans l'interface graphique. La plupart du temps, vous pouvez cliquer avec le bouton droit sur le fichier et sélectionner les propriétés.Dans XUbuntu, les options d'autorisation ressemblent à ceci:
Si vous ne souhaitez pas modifier les autorisations. Vous pouvez également forcer le shell à exécuter la commande. Dans le terminal, vous pouvez exécuter:
bash file.sh
Le shell doit être le même que dans la première ligne de votre script.
Est-ce sûr?
Vous pouvez trouver étrange que vous deviez effectuer une autre tâche manuellement pour exécuter un fichier. Mais cela est en partie dû à un fort besoin de sécurité.
Fondamentalement, lorsque vous téléchargez et exécutez un script bash, c'est la même chose que quelqu'un vous disant "exécutez toutes ces commandes en séquence sur votre ordinateur, je vous promets que les résultats seront bons et sûrs". Demandez-vous si vous faites confiance à la partie qui a fourni ce fichier, demandez-vous si vous êtes sûr d'avoir téléchargé le fichier du même endroit que vous le pensiez, peut-être même jetez un coup d'œil à l'intérieur pour voir si quelque chose ne semble pas à sa place (bien que cela nécessite que vous savez quelque chose sur les commandes * nix et la programmation bash).
Malheureusement, mis à part l'avertissement ci-dessus, je ne peux pas vous donner une description étape par étape de ce que vous devez faire pour empêcher que des choses maléfiques ne se produisent avec votre ordinateur; alors gardez à l'esprit que chaque fois que vous obtenez et exécutez un fichier exécutable de quelqu'un, vous dites en fait: "Bien sûr, vous pouvez utiliser mon ordinateur pour faire quelque chose".