Outils pour utilisateurs

Outils du site


linux:environnement:bash:accueil

Ceci est une ancienne révision du document !


Bash

Sujets liés

Bipasser l'alias d'une commande

$ \rm fichier

bipass l'alias rm='rm -i'

Déclaration de nouvelle fonction

Déclaration

$ function viewedi() {cat $1 | tr -s "'" '\n' | less; }

Lister les fonctions

$ declare -f

Calcul

valeurs entières

$ A=1
$ B=2
$ T=$(( $A + $B ))
$ echo $T
3

valeurs flottantes

Commande : bc

$ PU=0.156
$ NBCOL=3
$ PT=`echo "$PU * $NBCOL" | bc` 
$ echo $PT
0.468
$ echo "scale=1;25 * 100 / 200" | bc
12.5

Test sur valeurs flottantes

if [ $( bc <<< "$VALEUR > $SEUIL") = '1' ) ] ; then
    echo "$VALEUR est supérieur à $SEUIL"
fi

Boucles

Interrompre une boucle for

instruction : break

count=0
 
for i in * ; do
    count=$((count+1))
    mv $i dest/ ;
    if [ $count -gt 100 ] ; then
        break
    fi
done

Traiter les lignes d'un fichier

$ cat fichier.txt | while read ligne ; do echo "$ligne" ; done

Dans ce type de boucle les variables modifiées dans la boucle ne peuvent être récupérées. Préférer dans un script la forme présentée ci-après

#!/bin/bash
 
TXT=
 
while read LIGNE ; do
    TXT="${TXT}${LIGNE}<br>"
done < $0
 
echo "$TXT"

Traiter les paramètres

Les variables réservées

$0 Contient le nom du script tel qu'il a été invoqué
$* L'ensembles des paramètres sous la forme d'un seul argument
$@ L'ensemble des arguments, un argument par paramètre
$# Le nombre de paramètres passés au script
$? Le code retour de la dernière commande
$$ Le PID su shell qui exécute le script
$! Le PID du dernier processus lancé en arrière-plan

Traiter les arguments un à un

script.sh
for (( i = 1 ; i <= $# ; i++ )) ; do
    echo ${i}. ${BASH_ARGV[$(($#-$i))]}
done
$ script.sh a b "c d" e
1. a
2. b
3. c d
4. e

Redirections

Type Description
commande 1> fichier Redirige stdout dans un fichier
commande 2> fichier Redirige stderr dans un fichier
commande 2>&1 Redirige stderr vers stdout
commande &> fichier Redirige stdout et stderr dans un fichier

Enregistrer l'activité en console

Terminal

Environnement

Changer le titre ou l'icone du terminal

Le titre et le nom de l'icône d'une fenêtre xterm (ou dérivées) peuvent être changés en utilisant une séquence d'échappement XTerm.

Exemples :

  • ESC]0;chaineBEL – Fixe le nom de l'îcone et le titre à chaine
  • ESC]1;chaineBEL – Fixe le nom de l'îcone à chaine
  • ESC]2;chaineBEL – Fixe le titre de la fenêtre à chaine


où ESC est le caractère d'échappement (\033), et BEL est le caractère d'échappement (\007).

Afficher une de ces séquences dans le terminal changera son titre ou le nom de son icône.

Le contenu de la variable PROMPT_COMMAND est exécuté juste avant d'afficher l'invite de commande (prompt).
Elle peut donc être utilisée à cet effet.

/etc/profile
# Modifier dynamiquement le titre de la fenêtre du terminal
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}:${PWD}\007"'

Liens

linux/environnement/bash/accueil.1428993481.txt.gz · Dernière modification: 2015/04/14 08:38 par stephane

Outils de la page