ODT Export

Scripts

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 :

Scripts proposés par les membres DF

Voir là : Scripts divers.

Script détail

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

Scripts lancés au démarrage

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 ? ;-)

Scripts existants

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 :

  1. .profile
  2. .bashrc
  3. .bash_logout
  4. .bash_history

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 :

  • /usr/local/bin : Vos premiers script à mettre ici pour vous personnellement (pleins de petits scripts)
  • /usr/bin : ici pour les scripts avancés, pour d'autres utilisateurs (des scripts avec des menus)
  • /bin : ici il y en a déjà beaucoup, pour les scripts assurément finis (assez gros, avec des fonctions internes à vos scripts et aux autres)
  • /usr/games : il y en a déjà pas mal concernant les jeux…

Scripts des utilisateurs

Scripts users

Les scripts concernant tous les users se trouvent ici :

  • /etc/profile
  • /etc/bash.bashrc

Scripts administrateur

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

Remarque :

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 ! ;-)

Exemples

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

  • Pour les utilisateurs : /usr/local/bin:/usr/bin:/bin:/usr/games
  • Pour les administrateurs : /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

/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.

Autre solution

Usage des signets dans la console.

Scripts dans le /home/user

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

.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 :

  1. un fichier (.bashrc dans votre /home/user) et
  2. un chemin (répertoire /bin dans votre /home/user).

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.

.bashrc

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).

Scripts des Alias

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.

La modification de ce fichier /home/user/.bashrc (noté aussi ~/.bashrc) ne nécessite pas de droits administrateur, pour se faire je vous conseille l'éditeur NANO.

Nota :

  • La création du fichier dans le répertoire /usr/local/bin/ Nécessite des droits ! Il faut être logué en root avec la commande SU.
  • La création /home/user/.bash_aliases n'en nécessite pas

Je vous conseille d'utiliser le fichier /usr/local/bin/

Exemple de script

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

Exemple de scripts liés

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

Pour en savoir plus :

Les REGEXP. DEBUTANT AVISÉ - Les Expressions Régulières (Métacaractères).

 
manuel/script.txt · Dernière modification: 2011/12/02 16:38 par smolski
 
Recent changes RSS feed GNU Free Documentation License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki