IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes POSIX Discussion :

Mon .kshrc n'est pas exécuté à l'ouverture d'une shell [KSH]


Sujet :

Shell et commandes POSIX

  1. #1
    Membre éclairé
    Homme Profil pro
    ingénieur calcul
    Inscrit en
    Décembre 2007
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur calcul
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 363
    Par défaut Mon .kshrc n'est pas exécuté à l'ouverture d'une shell
    Bonjour,
    j'ai un problème pas relatif à HPUX, l'OS unix des machines sur lesquelles je bosse à mon boulot.
    Il se trouve que les shell de tous les utilisateurs sont en ksh, ce qui me convient très bien, mais mon .kshrc n'est pas exécuté à l'ouverture d'une shell et je ne sais pas à quoi c'est dû; donc je suis obligé de taper ". ~/.kshrc" dans chaque nouvelle fenêtre que j'ouvre pour avoir mes alias habituels.
    On m'a dit que le fichier .kshrc n'était pas lu par défaut sur HP-UX et ça m'a beaucoup étonné parce que il y a pas mal d'années, les machines unix de ma boite étaient des SGI dont les shell s'ouvraient en csh, et ça lisait automatiquement le .cshrc, donc j'ai cru qu'il en serait de même avec le .kshrc pour les korn shell des machines HPUX.
    J'ai donc ajouté la ligne suivante au début de mon .profile :
    "if test -f ~/.kshrc; then . ~/.kshrc; elif" et "echo coucou ici .kshrc" en tête du .kshrc; ainsi je vois que si je tape ". ./.profile", le .profile s'exécute, ainsi que le .kshrc juste après, mais ils ne le sont pas exécutés ni l'un ni l'autre à l'ouverture d'un nouvelle shell. (Donc ce serait le .profile qui ne serait pas lancé; je l'ai mis en "chmod +x" mais ça ne change rien)
    Merci d'essayer de me donner une voie vers la réparation de ceci.
    David

  2. #2
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    y'a pas une astuce du cactus genre faut que les droits soient strictement 0600 sur le .kshrc ou ce genre de conneries par hasard ?

  3. #3
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Par défaut
    .kshrc n'est exécuté que si la variable ENV ne définit pas autre chose. Vérifie ce qu'elle contient sur ton système.

  4. #4
    Membre Expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Par défaut
    De mémoire le shell par defaut sur les HP-UX est sh
    -> ça fait a peu pres 4 ou 5 ans que je n'en ai pas eu une sous la main.

    Et les conf(s) se font par un fichier ".profile" dans ton home, cela doit pouvoir se changer...


    avec chsh

  5. #5
    Membre éclairé
    Homme Profil pro
    ingénieur calcul
    Inscrit en
    Décembre 2007
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur calcul
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 363
    Par défaut
    J'ai toujours besoin d'aide pour comprendre pourquoi le fichier $HOME/.kshrc de mon compte n'est pas exécuté au login, mais j'ai remarqué plusieurs choses qui aideront peut-être d'aucuns à trouver une solution.

    Je me suis aperçu que c'est l'exécution du $HOME/.profile qui commande celle du $HOME/.kshrc , et donc c'est le $HOME/.profile lui même qui crée le problème en n'étant pas exécuté.
    (Ceci écarte l'hypothèse de frp31 qui proposait un chmod 600 sur le $HOME/.kshrc, puisque le problème vient en fait du $HOME/.profile)

    Je me suis aperçu également qu'avec une deuxième machine parfaitement identique, et qui partage le disque sur lequel se tient mon $HOME, alors le $HOME/.profile est exécuté correctement lors d'un rlogin; et le $HOME/.kshrc à sa suite.
    De même, en "revenant" par rlogin sur la première machine, alors le $HOME/.profile est exécuté correctement aussi et le $HOME/.kshrc à sa suite.

    Pour jlliagre, la variable ENV ne contient rien; $ echo $ENV+[RTN] donne une ligne blanche.

    Pour jabbounet, mon $HOME/.profile ne contient presque rien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    $ more $HOME/.profile
    echo coucou .profile
    #
    export H=/HOME/users/moi/.sh_history
    export L9=/L/DATA_PROJECTS9
    export S=/HOME/users/moi/S
    export SS=/L/DATA_PROJECTS9/DAVID/SS
    #
    if test -f ~/.kshrc
    then
      echo .profile appelle ~/.kshrc :
      . ~/.kshrc
    fi
    #
    # . ~/.kshrc
    # . ~/.profile
    Donc je suis toujours bloqué; j'espère que ces quelques informations donneront des idées à certains d'entre vous pour me "libérer"; merci,
    David

  6. #6
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Par défaut
    Si je comprends bien, tu as deux machines "parfaitement identiques" mais sur lesquelles dans un cas, .profile est exécuté au login mais dans l'autre cas il ne l'est pas, c'est bien çà ?

  7. #7
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Par défaut
    Bonjour,

    Quels sont les droits sur .kshrc sur les deux machines ?
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  8. #8
    Membre éclairé
    Homme Profil pro
    ingénieur calcul
    Inscrit en
    Décembre 2007
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur calcul
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 363
    Par défaut
    bonjour et merci de m'aider;
    pour jlliagre, oui en effet, il y a ici deux machines assez similaires, et j'en ai même dégotté une troisième; pour ce qui me concerne, elles ont toutes les trois accès au disque (d'un gros PC) sur lequel se trouve mon $HOME et elles ont toutes les trois aussi le soft que j'utilise principalement (pour du calcul de structures dans l'aéronautique). L'une a un compilo fortran et C, l'autre des accès à quelques autres disques et la troisième plus de mémoire, mais rien qui n'influe sur mon histoire de .kshrc et de .profile.
    Par contre quand je me logge de l'une sur l'autre par "rlogin", le fichier .profile qui exporte la variable d'environnement $ENV qui pointe ensuite sur mon .kshrc est bien sourcé, et mes alias sont définis correctement; alors que quand j'ouvre une nouvelle fenetre par le CDE qui est l'environnement graphique présent sur les bécanes, alors les fichiers $HOME/.profile et par suite $HOME/.kshrc ne sont pas sourcés.
    Ceci est dû â une ligne qui demande à ce que ces fichiers ne soient pas sourcés lorsqu'on demande graphiquement l'ouverture d'une fenêtre.
    Ce fichier est $HOME/.dtprofile qui n'a qu'un seule utilité réelle, créer une variable d'environnement DTSOURCEPROFILE â "false" ou "true"; et si "false" (la valeur par defaut), le $HOME/.profile n'est pas sourcé, alors qu'il l'est si "true". Ceci est défini par la toute derniÉre ligne du $HOME/.dtprofile. OUF
    Merci de m'avoir encouragé par vos réponses â continuer de chercher.
    David
    PS pour gangsoleil : c'est pareil sur les deux-trois machines puisque c'est le même disque :
    $ ls -l .kshrc .profile
    -rwxr-xr-x 1 moi users 4819 Nov 23 07:53 .kshrc
    -rw------- 1 moi TO_SIMU 262 Nov 23 07:58 .profile

  9. #9
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    Citation Envoyé par dva2tlse Voir le message
    bonjour et merci de m'aider;

    Ce fichier est $HOME/.dtprofile qui n'a qu'un seule utilité réelle, créer une variable d'environnement DTSOURCEPROFILE â "false" ou "true"; et si "false" (la valeur par defaut), le $HOME/.profile n'est pas sourcé, alors qu'il l'est si "true". Ceci est défini par la toute derniÉre ligne du $HOME/.dtprofile. OUF

    pinaise .... le fameux .dtprofile....

    j'aurai du y penser....bien vu !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. mon code php n'est pas exécuté dans l'ordre
    Par supcomingenieur dans le forum Langage
    Réponses: 6
    Dernier message: 29/05/2013, 16h56
  2. Exécuter un cron job quand mon pc n'est pas allumé
    Par Ismatus1 dans le forum Linux
    Réponses: 7
    Dernier message: 11/11/2011, 18h04
  3. Mon code behind n'est pas exécuté sous Visual Web
    Par mourmaux dans le forum ASP.NET
    Réponses: 2
    Dernier message: 25/09/2008, 19h07
  4. Mon code n'est pas interprété !
    Par korriganez dans le forum Langage
    Réponses: 3
    Dernier message: 31/05/2006, 15h46
  5. Mon timer n'est pas prioritaire !!
    Par Hectorz dans le forum MFC
    Réponses: 9
    Dernier message: 09/02/2005, 12h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo