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 GNU Discussion :

Comment exécuter .cshrc à partir d'un script sh lancé par crontab


Sujet :

Shell et commandes GNU

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Comment exécuter .cshrc à partir d'un script sh lancé par crontab
    Bonjour,

    J'ai passé ma journée sur Google à chercher la réponse à un problème mais je suis à sec ! Help !
    En fait, j'ai un script sh qui fait appel à des variables définies dans le .cshrc. En interactif tout va bien mais via la crontab, .cshrc n'est pas exécuté (ce qui est normal et documenté dans man crontab) mais comment faire pour initialiser ces variables sans dupliquer le code ?
    Option 1 : appel du cshrc à partir du sh et les variables d'environnements doivent être mises à jour même si mise à jour dans un shell appelé
    Option 2 : appel du cshrc par la crontab avant l'appel du sh.

    Dans les 2 options que je vois, je ne sais pas comment faire !!!
    Merci pour votre aide et pour les autres options que vous pourriez me communiquer

    Olivier

  2. #2
    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
    Points : 28 123
    Points
    28 123
    Par défaut
    Bonjour,

    En fait, il suffit de sourcer ton .cshrc au début de ton script pour disposer de ce qu'il contient :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    #!/bin/csh
     
    source /home/kenavoparis/.cshrc
     
    ## Suite de ton script

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Effectivement cela marche très bien si le script appelé est du C Shell (csh) mais à partir d'un Bourne Shell (sh) cela se complique car le source ne marche pas et si on appelle le .cshrc, alors le process .cshrc est dans un process fils ce qui fait que les variables définies dans le .cshrc ne sont pas connues du fils.
    Il faudrait l'équivalent de la commande
    . ./toto.sh qui permet au père de connaître les variables mises à jour par le fils (toto.sh).

    Malheureusement . ./titi.csh ne marche pas !

    Merci tout de même

    Olivier

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 916
    Points
    17 916
    Billets dans le blog
    2
    Par défaut
    et oui normalement c'est :


Discussions similaires

  1. Réponses: 7
    Dernier message: 18/04/2012, 23h09
  2. Réponses: 6
    Dernier message: 08/12/2011, 13h48
  3. Réponses: 4
    Dernier message: 05/04/2007, 03h10
  4. Réponses: 1
    Dernier message: 31/10/2006, 16h25
  5. Réponses: 3
    Dernier message: 10/05/2006, 18h40

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