Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 17/12/2011, à 13:54

zoxy

Problème d'execution .profile et /etc/profile

Bonjour,

J'ai récemment changé de shell par defaut pour pouvoir utiliser le shell ksh au quotidien (comme à la fac). Pour ce faire, j'ai modifié le fichier /etc/passwd comme suit :

$ grep zoxy /etc/passwd
zoxy:x:1000:1000:zoxy,,,:/home/zoxy:/bin/ksh

Ensuite j'ai ajouté un alias dans le fichier .profile se trouvant dans mon répertoire de connexion :
$ pwd
/home/zoxy
$ ls -al .profile
-rwxr-xr-x 1 zoxy zoxy 844 2011-12-17 00:45 .profile
$ cat .profile
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.

# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022

# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
        . "$HOME/.bashrc"
    fi
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi
export LANGUAGE="fr:en"
export LC_MESSAGES="fr_FR.UTF-8"
export LC_CTYPE="fr_FR.UTF-8"
export LC_COLLATE="fr_FR.UTF-8"

# CONFIG PERSO

set -o vi
alias ll='ls -rtla'

Malheureusement, le fichier .profile ne s'execute pas à chaque connexion puisque mon alias ne fonctionne pas et le rappel de commande "vi" non plus. Même après reboot du systeme, cela ne fonctionne pas.

J'ai alors introduit les mêmes valeurs dans mon fichier /etc/profile en tant que root et j'observe le même resultat...

$ cat /etc/profile
# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).

if [ -d /etc/profile.d ]; then
  for i in /etc/profile.d/*.sh; do
    if [ -r $i ]; then
      . $i
    fi
  done
  unset i
fi

if [ "$PS1" ]; then
  if [ "$BASH" ]; then
    # The file bash.bashrc already sets the default PS1.
    # PS1='\h:\w\$ '
    if [ -f /etc/bash.bashrc ]; then
      . /etc/bash.bashrc
    fi
  else
    if [ "`id -u`" -eq 0 ]; then
      PS1='# '
    else
      PS1='$ '
    fi
  fi
fi

# ALIAS
alias ll='ls -rtla'

set -o vi


Ma question est donc la suivante : comment dois-je procéder pour définitivement changer de shell (bash => ksh) proprement ? Pourquoi est ce que les fichiers .profile et /etc/profile ne s'executent pas à chaque connexion ? Y-a t'il quelque chose que j'ai manqué ?

Par avance, merci pour votre aide.

Zoxy

Hors ligne