Un script est la rédaction dans un fichier texte d'un ensemble de commandes et d'indications précises (motifs).
Un seul script peut rassembler une ou plusieurs lignes de commande coordonnées les unes aux autres.
Les scripts ne peuvent être mis en action qu'avec les droits d'executions activés.
Pour les droits, voir :
Voir là : Scripts divers.
Les scripts peuvent avoir l'extension .sh ou non.
Ainsi :
monscript
ou :
monscript.sh
Ils peuvent aussi être cachés ou non :
.monscript (caché avec le point devant)
ou :
monscript
Les scripts lancés au démarrage se placent ici :
/etc/init.d/monscript
En attribuant un Level :
update-rc.d monscript defaults 99
Facile, non ?
Vous avez 4 fichiers cachés (cachés, car il y a un point ”.” avant le nom du fichier), dans votre home (/home/user noté aussi simplement ~/), qui sont là pour vous aider :
Ce sont des fichiers de script shell, concernant la configuration de votre console à son lancement.
D'autres fichiers peuvent se trouver à d'autre endroits.
Tapez la commande ECHO ainsi :
echo $PATH /usr/local/bin:/usr/bin:/bin:/usr/games
Ici 4 chemins sont indiqués, vous pouvez les utiliser ainsi :
Les scripts concernant tous les users se trouvent ici :
Vous pouvez réaliser le même fichier ou un autre pour l'administrateur (root).
Pour ce faire, les modifications seront portées dans le fichier /root/.bashrc
Il est fortement conseillé de ne pas toucher aux scripts dans /etc mais de placer vos scripts personnels dans $HOME permettant ainsi de faire des ajustements sans risquer de casser la configuration générale.
Précision portée sur le forum par zolive im'self, yes gy !
| Chemin | Fichier | |
|---|---|---|
| Exemple 1 | /usr/local/bin/ | vos_scripts.sh |
| Exemple 2 | /home/user/ | .script_alias |
Ces chemins sont déclarés dans le fichier /etc/profile
/etc/profile concerne tous les utilisateurs :
Pour afficher votre propre fichier, taper :
~$ cat /etc/profile
D'autres encore dans un dossier /bin de votre /home/user s'il existe : /home/user/bin.
Usage des signets dans la console.
Ces scripts ne concernent que l'utilisateur (/home/user). Où user est votre login.
Ce sont des fichiers cachés, leur nom débute avec un point.
.profile (avec un point devant) est le fichier qui est interprété au lancement de la console.
Pour afficher votre propre fichier, tapez :
cat ~/.profile # ~/.profile: executed by the command interpreter for login shells. # This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login # exists. # see /usr/share/doc/bash/examples/startup-files for examples. # the files are located in the bash-doc package. # the default umask is set in /etc/profile; for setting the umask # for ssh logins, install and configure the libpam-umask package. #umask 022 # if running bash if [ -n "$BASH_VERSION" ]; then # include .bashrc if it exists if [ -f "$HOME/.bashrc" ]; then . "$HOME/.bashrc" fi fi # set PATH so it includes user's private bin if it exists if [ -d "$HOME/bin" ] ; then PATH="$HOME/bin:$PATH" fi
Ce fichier déclare au système :
C'est dans ce fichier (/home/user/.bashrc) ou dans les fichiers du répertoire /home/user/bin) que seront interprétées les commandes saisies dans la console.
Les principales commandes étant contenues dans le répertoire /bin de la racine.
Pour afficher votre prore fichier .bashrc, tapez :
cat ~/.bashrc
Voici le début du script :
# ~/.bashrc: executed by bash(1) for non-login shells. # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) # for examples
Je n'ai pas mis tout le début du script (assez long, peu utile ici).
Cette partie traite des alias (raccourcis) pour vous simplifier la vie, rechercher plus bas dans le fichiers les lignes suivantes :
# Alias definitions. # You may want to put all your additions into a separate file like # ~/.bash_aliases, instead of adding them here directly. # See /usr/share/doc/bash-doc/examples in the bash-doc package. #if [ -f ~/.bash_aliases ]; then # . ~/.bash_aliases #fi
Vous pouvez créer et utiliser le fichier (caché) .bash_aliases placé dans votre /home/user.
Ou indiquer comme ci-dessous que vous allez créer et utiliser un fichier que vous nommerez par exemple raccourcis situé dans le répertoire /usr/local/bin/ dans le fichier /etc/profile.
Nota :
Je vous conseille d'utiliser le fichier /usr/local/bin/
Créer le fichier monscript dans le répertoire /home/user/scripts/.
Puis rédigez-y ce script :
#!/bin/bash echo " *************************** ** Script shell (bash) ** ** monscript ** ** debian-facile.org ** *************************** " echo Bonjour `whoami` echo répertoire courant : `pwd` echo nom du script lancé : $0 echo le nombre des paramètres passés : $# echo leur valeur : $* echo code de retour de la dernière commande exécutée : $? echo PID du script : $$
Affecter des droits d'exécution à monscript en tapant :
chmod a+x /home/user/scripts/monscript
Pour exécuter monscript, tapez :
sh /home/user/scripts/monscript
Un script peut en appeler un autre !
Maintenant, créez le script login : /home/user/scripts/login
Comme précédemment, attribuez-lui des droits d'exécution.
Rédigez le second script :
#!/bin/bash echo " *************************** ** Script shell (bash) ** ** LOGIN ** ** debian-facile.org ** *************************** " echo Bonjour `whoami` ici login echo
et dans le premier script d'exemple (/home/user/scripts/monscript ), remplacer la ligne :
echo Bonjour `whoami`
par cette ligne :
sh /home/user/script/login.sh
Les REGEXP. DEBUTANT AVISÉ - Les Expressions Régulières (Métacaractères).