web-dev-qa-db-fra.com

Comment créer et exécuter un fichier de script

Existe-t-il un moyen de créer et d’exécuter un fichier de script dans Ubuntu 14.04? Peut-être quelque chose comme les fichiers de commandes Windows. Plus précisément, je parle du langage de script par défaut du terminal Ubuntu (Bash). Comment créer un fichier texte contenant des commandes bash qui sera exécuté par le terminal Ubuntu du haut au bas du fichier.

8
Strato1

Votre "Shell" ou l'interface de ligne de commande s'appelle bash. Vous pouvez écrire un script bash similaire à un fichier de commandes. Un script bash commence par un She-bang #!/bin/bash et n'est rien de plus qu'un ensemble de commandes à exécuter dans une séquence pour les exécuter. Vous n'êtes pas limité à la commande bash, vous pouvez appeler n'importe quel binaire du système en utilisant le chemin complet du binaire ou du script.

Un fil conducteur sur learning/books/terminal/bash/Linux, etc. Ressources d'apprentissage pour la ligne de commande de Linux - cortman https://help.ubuntu.com/community/CommandLineResources

Mon premier bash a été plusieurs commandes que je courais plusieurs fois dans le terminal. J'ai donc répertorié l'historique avec la commande history et les ai copiées dans un fichier texte. La première ligne doit être ceci (aucun espace avant et la première ligne):

#!/bin/bash

Et après avoir sauvegardé, vous devez le rendre exécutable.

Sudo chmod +x <path>
Sudo chmod 755 <filename>

Notez qu'il est judicieux de placer vos scripts au même endroit afin de pouvoir les exécuter sans nécessiter de chemin. Si vous créez un répertoire bin chez vous (mkdir ~/bin) lors de votre prochaine connexion, celui-ci sera automatiquement inclus dans votre PATH.

mkdir ~/bin
chmod 755 ~/bin

Edit: si vous voulez que le script soit disponible pour tous les utilisateurs, placez-le dans/usr/local/bin et faites-le appartenir à root avec un accès rx par d'autres Sudo chown root:root /usr/local/bin/your_script ; Sudo chmod 655 /usr/local/bin/your_script

gksudo gedit ~/.bashrc

Ajoutez ce qui suit à la fin de .bashrc et enregistrez:

if [ -d $HOME/bin ]; then
PATH=$PATH:$HOME/bin
fi
10
oldfred