foo=/tmp/my.dir/filename.tar.gz path=${foo%/*} filename=${foo##*/} basename=${filename%%.*} extension=${filename#*.}
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 *
.
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
# 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