'

Outils pour utilisateurs

Outils du site


doc:bash

bash

scripts

manipulation de chaînes

foo=/tmp/my.dir/filename.tar.gz
path=${foo%/*}
filename=${foo##*/}
basename=${filename%%.*}
extension=${filename#*.}

Afficher les fichiers cachés avec *

On crée un fichier normal et un fichier caché dans un répertoire.

$ touch pascache
$ touch .cache

Par défaut, si on liste le répertoire avec ls -l *, on n'affiche pas les fichiers cachés

$ ls -l *
total 0
-rw-r--r-- 1 sylvain fuse 0 août  19 13:51 pascache

Avec la commande shopt -s dotglob

$ ls -l *
-rw-r--r-- 1 sylvain fuse 0 août  19 13:51 .cache
-rw-r--r-- 1 sylvain fuse 0 août  19 13:51 pascache

Cela fonctionne également pour mv, rm et toutes les commandes shell qui comprennent *.

Tester le nombre d'arguments

Dans un script, il peut être pratique de vérifier que l'utilisateur a passé le bom nombre d'agrument au script. Ce n'est pas une vérification suffisante mais c'est un début.

Un script que fait ce genre de vérification pourrait commencer comme cela :

#/bin/bash
 
#blah, blah blah
 
function usage {
    echo Usage: $0 arg1 arg2 arg3
    exit 1
}
 
[ $# -eq 3 ] || usage
 
#blah, blah blah

Un peu de couleur

# typographie
bold='\e[1m'
underlined='\e[4m'
blink='\e[5m'
reverse='\e[7m'
reset='\e[0m'
unBold='\e[21m'
unUnderlined='\e[24m'
unBlink='\e[25m'
unReverse='\e[27m'
 
# couleurs d'avant plan
fgDefault='\e[39m'
fgBlack='\e[0;30m'
fgDarkGray='\e[1;30m'
fgBlue='\e[0;34m'
fgLightBlue='\e[1;34m'
fgGreen='\e[0;32m'
fgLightGreen='\e[1;32m'
fgCyan='\e[0;36m'
fgLightCyan='\e[1;36m'
fgRed='\e[0;31m'
fgLightRed='\e[1;31m'
fgPurple='\e[0;35m'
fgLightPurple='\e[1;35m'
fgBrown='\e[0;33m'
fgYellow='\e[1;33m'
fgLightGray='\e[0;37m'
fgWhite='\e[1;37m'
 
# couleurs d'arrière plan
bgDefault='\e[49m'
bgBlack='\e[40m'
bgDarkGray='\e[100m'
bgBlue='\e[44m'
bgLightBlue='\e[104m'
bgGreen='\e[42m'
bgLightGreen='\e[102m'
bgCyan='\e[46m'
bgLightCyan='\e[106m'
bgRed='\e[41m'
bgLightRed='\e[101m'
bgPurple='\e[45m'
bgLightPurple='\e[105m'
bgBrown='\e[43m'
bgYellow='\e[103m'
bgLightGray='\e[47m'
bgWhite='\e[107m'
 
# application
echo -e "$fgWhite$bgGreen"blanc sur rouge"$bgDefault$fgDefault"

http://misc.flogisoft.com/bash/tip_colors_and_formatting Source

doc/bash.txt · Dernière modification: Le 07/01/2015 à 23:52 (modification externe)