[[.|retour]] ====== Étude du démarrage de bash ====== Démarrez l'ordinateur ,mettez votre login et mot de passe Restez dans le répertoire de l'utilisateur **Pour Information**, on travaille en terminal sans X avec une Debian Etch ===== Le fichier .bash_profile ===== Au départ d'une session , le bash lance .bash_profile Commençons par le visualiser ==== Affichage avec cat et sed ==== Pour afficher le fichier .bash_profile : .... .bash_profile Les lignes qui commencent par # sont des lignes de commentaires Que fait la commande cat .bash_profile |sed '/^#/d' ....... Que fait la commande cat .bash_profile |sed '/^$/d' ....... Que font les 2 commandes associées cat .bash_profile |sed '/^#/d' |sed '/^$/d' ....... Dans un terminal, on peut remplacer cat par less pour visualiser des fichiers trop long, ==== La première commande ==== if [ -f ~/.bashrc ]; then . ~/.bashrc fi Cette commande teste l'existence dans le répertoire de l'utilisateur** ~**, du fichier caché commence par **"."** .bashrc Si il existe il le lance . ~/.[[bashrc|bashrc]] ~ correspond à $HOME soit /home/nom_de_l_utilisateur . en début de nom, le fichier est caché visible avec ls -a . dans un script correspond à source, exécute le fichier donné en argument, ici l'argument est ~/.bashrc. Correspond à un include en C, le fichier est inclus et exécuté. Vérifiez l'existence de .bashrc avec la commande ls .... ==== La deuxième commande ==== Elle ajoute le répertoire bin de l'utilisateur dans le chemin par défault PATH if [ -d ~/bin ]; then PATH=~/bin:${PATH} fi Affichez votre chemin par défaut PATH avec ... $PATH Créez un repertoire bin avec ... Relancez avec ... Retestez le chemin par défaut PATH ==== Le chemin PATH ==== Il permet de mettre directement le nom de l'application sans son chemin. Exemple pour afficher .bash_profile, on utilise la commande : //cat .bash_profile// Pour connaître où est la commande cat :// which cat// réponse .......... qui se situe dans le répertoire ..... qui appartient au chemin $PATH ==== Extra UMASK ==== umask définit les droits des fichiers UMASK 022 définit : * 0 : Tous les droits pour l'utilisateur, pas de masque * 22 : Groupe et autre , pas de droits en écriture avec ce masque les fichiers auront des droits 644 par défaut et les dossiers 755. Pour connaître le fichier qui gère umask : grep -i ^umask /etc/* 2>/dev/null -i : ................. '' ^umask '' : la ligne ................ 2>/dev/null ne pas gérer les erreurs : permission non accordée , etc ==== De l'aide sur une commande bash ==== Exemple de l'aide sur la commande grep : **man grep** Certaines commandes sont des commandes internes au batch Exemple **man source** : //no manual entry for source// On vérifie avec la commande type; **type source** : //source is a shell builtin// En anglais **help source** En français, il faut aller chercher l'information dans le man bash-builtins Tapez : **man bash-builtins** Une fois la commande lancée, tapez **/^ *source ** pour rechercher source, dans certains cas, il faudra faire **n** , pour aller à l'occurence suivante.