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

Linux Discussion :

variable pwd et dolphin


Sujet :

Linux

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 19
    Points : 12
    Points
    12
    Par défaut variable pwd et dolphin
    Bonjour,
    J'y perd mon latin ....
    Voila je suis entrain de créé un script, j'aimerais qu'il fonction aussi bien sous KDE que Gnome, pour le moment sous Gnome pas de souci...
    Maintenant j'ai un problème sous KDE.
    Lorsque je lance la commande pwd ou que je fait echo $PWD en console j'ai le chemin de l'endroit ou je me situe (normal).
    Pas contre là ou je comprend pas c'est que ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #!/bin/bash
    kdialog --msgbox `pwd`
    En fonction que je le lance en console ou directement via dolphin ne me renvoi pas la même chose même s'il est lance dans le même dossier.
    Si je l'exécute via Dolphine je me retrouve toujours avec la chemin de mon dossier Document de mon home... alors que c'est pas du tout se que je lui demande...
    Même problème avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #!/bin/bash
    txt=$(pwd)
    kdialog --msgbox $txt
    Si quelqu'un peu m'éclairer ...
    Merci beaucoup
    Totoro

  2. #2
    Membre averti Avatar de fransoo
    Inscrit en
    Novembre 2009
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 209
    Points : 300
    Points
    300
    Par défaut
    Et que donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #!/bin/bash
    kdialog --msgbox $PWD
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #!/bin/bash
    txt=$PWD
    kdialog --msgbox $txt

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 19
    Points : 12
    Points
    12
    Par défaut
    fransoo, merci de ta réponse, mais même résultat
    J'ai même essaye en tapant sur le binaire de pwd ...

  4. #4
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 19
    Points : 12
    Points
    12
    Par défaut
    Bon j'ai modifier mon script pour ne plus avoir besoin de pwd ... donc ça passe.
    Merci de votre aide.

    Totoro

  5. #5
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 689
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 689
    Points : 30 983
    Points
    30 983
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par totorux Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #!/bin/bash
    kdialog --msgbox `pwd`
    En fonction que je le lance en console ou directement via dolphin ne me renvoi pas la même chose même s'il est lance dans le même dossier.
    Si je l'exécute via Dolphine je me retrouve toujours avec la chemin de mon dossier Document de mon home... alors que c'est pas du tout se que je lui demande...
    Si quelqu'un peu m'éclairer ...
    Merci beaucoup
    Totoro
    C'est sûrement parce que dolphin positionne un environnement par défaut avant de lancer ton code.
    Tu peux vérifier ça avec le script suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #!/bin/bash
    env >/tmp/result.txt
    Tu lances ce script depuis dolphin et tu regardes ce qui va s'inscrire dans "/tmp/result.txt"...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  6. #6
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 19
    Points : 12
    Points
    12
    Par défaut
    Merci de ta réponse,
    En effet:
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    KDE_MULTIHEAD=false
    SSH_AGENT_PID=1299
    DM_CONTROL=/var/run/xdmctl
    SHELL=/bin/bash
    XDG_SESSION_COOKIE=c76d22fdcd8422a7ce4237dd4c3058d7-1278236969.119494-1150496631
    XDM_MANAGED=method=classic
    GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:/home/totoro/.gtkrc-2.0:/home/totoro/.gtkrc-2.0-kde4:/home/totoro/.kde/share/config/gtkrc-2.0
    GTK_RC_FILES=/etc/gtk/gtkrc:/home/totoro/.gtkrc::/home/totoro/.kde/share/config/gtkrc
    GS_LIB=/home/totoro/.fonts
    KDE_FULL_SESSION=true
    USER=totoro
    SSH_AUTH_SOCK=/tmp/ssh-NnjUMe1255/agent.1255
    SESSION_MANAGER=local/ubuntu:@/tmp/.ICE-unix/1564,unix/ubuntu:/tmp/.ICE-unix/1564
    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
    DESKTOP_SESSION=default
    PWD=/home/totoro/Documents
    KDE_SESSION_UID=1000
    LANG=fr_FR.UTF-8
    HOME=/home/totoro
    SHLVL=1
    LANGUAGE=
    KDE_SESSION_VERSION=4
    XCURSOR_THEME=oxy-white
    LOGNAME=totoro
    XDG_DATA_DIRS=/usr/share:/usr/share:/usr/local/share
    DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-JCzGNo5S9c,guid=e58b63520de350c8d76438794c30592a
    WINDOWPATH=7
    DISPLAY=:0
    QT_PLUGIN_PATH=/home/totoro/.kde/lib/kde4/plugins/:/usr/lib/kde4/plugins/
    _=/usr/bin/env

  7. #7
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 689
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 689
    Points : 30 983
    Points
    30 983
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par totorux Voir le message
    Merci de ta réponse,
    En effet:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PWD=/home/totoro/Documents
    Je suis sûr que tu n'étais pas dans /home/totoro/Documents quand tu as lancé ce script.

    Donc t'as ta réponse. Quand Dolphin exécute ce script, il l'exécute à partir d'un processus lui-même positionné dans "/home/totoro/Documents".

    Tu peux vérifier ça en tapant le petit code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    int main()
    {
        chdir("/tmp");
        system("kdialog --msgbox `pwd`");
    }
    Tu compiles et tu exécutes. Tu verras que le titre de ton kdialog sera "/tmp".

    Voilà. T'as l'explication de la chose. C'est probablement parce que tu lances Dolphin depuis la barre de menus qu'il se positionne par défaut dans "~/Documents". Ptet que si tu lançais Dolphin depuis une fenêtre de commande shell, Dolphin mémorisera ton emplacement au moment où il s'exécute (enfin j'imagine car je connais pas Dolphin)...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  8. #8
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 19
    Points : 12
    Points
    12
    Par défaut
    Rebonjour,
    J'ai essayé en ouvrant Dolphin depuis un autre dossier sans changement.
    autrement, j'ai un problème d'argument avec kdialog
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #!/bin/bash
     
    EXEC=$(kdialog --getopenfilename .)
    Avec la console ça passe mais toujours pas via Dolphine, je pensais avoir contourné le problème ... mais non.

  9. #9
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 19
    Points : 12
    Points
    12
    Par défaut
    Bon heu depuis le temps j'ai trouvé,
    j'initialise une variable qui s'appelle path de la manière suivante:
    path=`dirname "$0"`
    Par contre c'est vallable qu'en graphique

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/07/2002, 13h32
  2. variables locales ou globales ???
    Par elvivo dans le forum C
    Réponses: 13
    Dernier message: 03/07/2002, 08h22
  3. Procédure avec un nombre variable d'arguments
    Par charly dans le forum Langage
    Réponses: 15
    Dernier message: 21/06/2002, 11h08
  4. Réponses: 4
    Dernier message: 05/06/2002, 14h35
  5. les variables globales static
    Par gRRosminet dans le forum C
    Réponses: 8
    Dernier message: 27/04/2002, 08h34

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