Shell script:Astuces
Sommaire
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