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 :

Une ligne dans .bashrc est exécutée dans le host et pas dans la machine virtuelle


Sujet :

Shell et commandes GNU

  1. #1
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 729
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 729
    Points : 15 133
    Points
    15 133
    Par défaut Une ligne dans .bashrc est exécutée dans le host et pas dans la machine virtuelle
    Bonjour,

    peut-être faudrait-il que je poste dans le sous-forum de la virtualisation ? Je ne sais pas, alors ne pas hésiter à déplacer.

    Dans mon ~/.bashrc c'est j'ai cette bête ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if [ -f ~/.bash_aliases ]; then source ~/.bash_aliases; fi
    qui fonctionne très bien puisqu'ensuite j'appelle un alias pour surveiller les disques et au lancement d'un terminal je vois le résultat.
    Parfait.

    Ce qui l'est moins, c'est que la même commande dans le .bashrc d'une machine virtuelle fait qu'il se passe un truc, je ne sais pas quoi, mais ce que je constate c'est que l'alias de surveillance ne s'affiche pas et que si je tape son nom (msd) ça me répond bash: msd : commande introuvable.

    Et ce qui est très curieux, c'est que pour troubleshooter j'ai rajouté deux lignes sous la "bête ligne" et elles sont bien exécutées :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if [ -f ~/.bash_aliases ]; then source ~/.bash_aliases; fi
    echo "ici" # ok, vu
    /usr/bin/leafpad # bloc-notes bien affiché
     
    msd # résultat non affiché
    Et le plus dément, c'est que la commande ls -Al ~/.ba* me donne strictement le même retour dans le host que dans la mv au niveau des attributs...

    EDIT : en fait, aucun alias issu du fichier ~/.bash_aliases ne fonctionne dans la machine virtuelle... /EDIT

    Que chercher, et où ?
    Merci,

    PS : pour les curieux, la ligne de l'alias et son exécution par copier/coller dans une console de la mv :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    alias msd="findmnt | grep sd | grep -v "gvfsd" | grep -v "nsdelegate" "
     
    $ findmnt | grep sd | grep -v "gvfsd" | grep -v "nsdelegate"
    /                                    /dev/sda1  ext4       rw,noatime
    /--media/disk3p1                     /dev/sdc1  ext4       rw,relatime,errors=remount-ro
    /--media/disk2p1                     /dev/sdb1  ext4       rw,relatime,errors=remount-ro
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  2. #2
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 278
    Points : 12 726
    Points
    12 726
    Par défaut
    Et si tu rajoutais un else juste pour savoir si le if est ok ?
    Cordialement.

  3. #3
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 729
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 729
    Points : 15 133
    Points
    15 133
    Par défaut
    Citation Envoyé par disedorgue Voir le message
    Et si tu rajoutais un else juste pour savoir si le if est ok ?
    Et voilà !
    Il aura suffi que je veuille mettre en place ce que tu suggères pour que la faute de frappe me saute à la figure : dans le .bashrc de la machine virtuelle j'ai bêtement écrit if [ -f ~/bash_aliases ]; then ... sans le ".", oui, sans le point !
    Me mettrais bien des baffes, moi, tiens !

    Et merci à toi !

    EDIT : je barre ce qui suit, puisqu'on discute un peu, après
    Si un modo passe par là, il peut supprimer cette discussion, qui n'avait pas lieu d'être.
    /EDIT
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  4. #4
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 458
    Points
    13 458
    Par défaut
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alias msd="findmnt | grep sd | grep -v "gvfsd" | grep -v "nsdelegate" "
    • Étrange cet enchevêtrement de double quotes.
    • Étrange de lancer 3 greps.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alias msd="findmnt | sed '/sd/!d;/gvfsd/d;/nsdelegate/d' "
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  5. #5
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 729
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 729
    Points : 15 133
    Points
    15 133
    Par défaut
    Yep !
    Citation Envoyé par Flodelarab Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alias msd="findmnt | sed '/sd/!d;/gvfsd/d;/nsdelegate/d' "
    J'ai testé par copier (du forum)/coller (dans un terminal) ta ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ alias msd="findmnt | sed '/sd/!d;/gvfsd/d;/nsdelegate/d' "
    J'appuie sur ENTRÉE et ça m'affiche ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alias msd="findmnt | sed '/sd/dmesg;/gvfsd/d;/nsdelegate/d' "

    et je teste :
    Bim !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed: -e expression n°1, caractère 6: caractères inutiles après la commande
    Que se passe-t-il ?
    et voilà ce que je trouve dans la liste affichée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alias msd='findmnt | sed '\''/sd/dmesg;/gvfsd/d;/nsdelegate/d'\'' '
    Je reste sans voix...
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  6. #6
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 278
    Points : 12 726
    Points
    12 726
    Par défaut
    Ce sont les '!' dans la commande qui font ça.

    il faut les protéger quand l'historique est actif (donc, quand on est en mode interactif, en général)

    Et ne me dit pas que c'est quoté, car non, ici les guillemets quotent les quotes
    Cordialement.

  7. #7
    Membre éprouvé Avatar de balkany
    Homme Profil pro
    Touriste
    Inscrit en
    Juillet 2017
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Touriste

    Informations forums :
    Inscription : Juillet 2017
    Messages : 346
    Points : 977
    Points
    977
    Par défaut
    En inversant les quotations , ça doit marcher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alias msd='findmnt | sed "/sd/!d;/gvfsd/d;/nsdelegate/d" '

  8. #8
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 458
    Points
    13 458
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alias msd="findmnt | sed '/sd/\!d;/gvfsd/d;/nsdelegate/d'"
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  9. #9
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 278
    Points : 12 726
    Points
    12 726
    Par défaut
    oui, ou en passant par un sed -n '/gvfsd/d;/nsdelegate/d;/sd/p', comme ça pas de '!'

    Mais vu qu'a priori, on tombe sur du /dev/sd, un simple grep '/sd' suffit...
    Cordialement.

  10. #10
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 729
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 729
    Points : 15 133
    Points
    15 133
    Par défaut
    Résultat des courses :

    balkany ok

    flodelarab : kc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $ alias msd="findmnt | sed '/sd/\!d;/gvfsd/d;/nsdelegate/d'"
    $ msd
    sed: -e expression n°1, caractère 5: commande inconnue: `\'
    disedorgue ok
    disedorgue v2 alias msd="findmnt | grep '/sd' " ok aussi

    Citation Envoyé par disedorgue Voir le message
    Mais vu qu'a priori, on tombe sur du /dev/sd, un simple grep '/sd' suffit...
    Oui et non : j'étais parti de findmnt | grep sd et ça me remontait 2 lignes (l'une avec gvfsd [qui a disparu], l'autre avec nsdelegate) que je ne voulais pas et le plus simple était de rajouter | grep -v string deux fois (il me semble bien avoir essayé d'inclure l'option -v dans le premier grep et ça n'a pas dû coller).

    Merci à tous !
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  11. #11
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 458
    Points
    13 458
    Par défaut


    Quand ça veut pas, ça veut pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alias msd="findmnt | sed '/sd/\! d;/gvfsd/d;/nsdelegate/d'"
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  12. #12
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 729
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 729
    Points : 15 133
    Points
    15 133
    Par défaut
    Tu l'as dit !
    Directement en ligne de commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ findmnt | sed '/sd/\! d;/gvfsd/d;/nsdelegate/d'
    sed: -e expression n°1, caractère 5: commande inconnue: `\'
    Par contre, en virant (au pif !) ce "\" qui embête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $ findmnt | sed '/sd/! d;/gvfsd/d;/nsdelegate/d'
    /                         /dev/sda2        ext4                  rw,relatime,errors=remount-ro,data=ordered
    /var                      /dev/sda3        ext4                  rw,relatime,data=ordered
    /datas                    /dev/sda4        ext4                  rw,relatime,data=ordered
    /media/sdb1               /dev/sdb1        ext4                  rw,nosuid,nodev,relatime,data=ordered
    /media/sdb2               /dev/sdb2        ext4                  rw,nosuid,nodev,relatime,data=ordered
    ça roule !
    Et avec l'alias aussi.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  13. #13
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 458
    Points
    13 458
    Par défaut
    Merci. Erreur de copier-coller.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

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

Discussions similaires

  1. Réponses: 24
    Dernier message: 19/11/2018, 16h27
  2. Réponses: 1
    Dernier message: 17/03/2016, 19h44
  3. Réponses: 13
    Dernier message: 22/02/2013, 12h05
  4. [WD17] position d'une ligne dans une table est faussée par les tris
    Par droliprane dans le forum WinDev
    Réponses: 18
    Dernier message: 19/09/2012, 17h15
  5. Savoir si on est a la fin d'une ligne dans une table
    Par Flavien44 dans le forum VBA Access
    Réponses: 4
    Dernier message: 02/07/2007, 12h54

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