Shell script:Astuces

De WIKI.minetti.org
Aller à : navigation, rechercher

Conversion en minuscules/majuscules

Pour convertir toute une chaîne de caractères en minuscules:

LOWER_TXT=$(echo "CouCOU" | tr 'upper:' 'lower:')

LOWER_TXT contiendra "coucou".

Pour convertir toute une chaîne de caractères en majuscules:

UPPER_TXT=$(echo "CouCOU" | tr 'lower:' 'upper:')

UPPER_TXT contiendra "COUCOU".

Pour convertir toute une chaîne de caractères en minuscules sauf la 1ère lettre qui sera en majuscules:

TXT=$(echo "CouCOU" | tr 'upper:' 'lower:' | sed -e 's/\(.\{1\}\)/\U\1/')

TXT contiendra "Coucou".

Extraction d'un nom de fichier

Pour extraire le nom d'un fichier, c'est à dire sans son chemin:

FILE_NAME=$(basename "/var/log/messages.log")

FILE_NAME contiendra "messages.log".

Extraction du chemin d'un fichier

Pour extraire le chemin d'un fichier:

PATH_NAME=$(dirname "/var/log/messages.log")

PATH_NAME contiendra "/var/log".

Changement d'extension d'un fichier

Pour changer l'extension d'un fichier:

NEW_FILE=${OLD_FILE%.log}.txt

Ici, on change l'extension "log" en "txt".

Pour supprimer l'extension d'un fichier:

NEW_FILE=${OLD_FILE%.*}

Chemin du répertoire du script

Pour obtenir le chemin du répertoire où se trouve le fichier script:

cd `dirname $0`
ROOT_SHELL=`pwd`

Création d'un groupe d'utilisateurs

Pour créer un nouveau groupe d'utilisateurs en indiquant son ID:

groupadd -g 508 users

Création d'un utilisateur

Pour créer un nouvel utilisateur en indiquant son groupe principal, son ID et un commentaire:

useradd -g 508 -u 508 -m -c "Utilisateur" user

Pour initialiser un mot de passe d'un nouvel utilisateur dans un script:

echo "Mon mot de passe" | passwd --stdin user