Alias en shell

Bonjour,

j'ai un petit probleme en alias sa fonctionne pas je ne sais pas pourquoi

voici un exemple

alias aff='echo bonjour'

aff

sur le terminal marche bien mais sur un fichier .sh il reconnait pas la commande aff

./s.sh: line 10: aff : commande introuvable

merci

4 réponses

  1. Modérateur
    Salut,

    Parce qu'il faut "sourcer" le fichier contenant les alias depuis ton programme...

    En général les alias sont dans le ".bashrc". Donc dans ton programme il faut rajouter une ligne comme suit :

    source  ~/.bashrc
    ou
    .  ~/.bashrc


    1. je crois j'ai pas de permission
      1. Modérateur
        Comment ça tu n'as pas de permission sur ton propre .bashrc ???

        Affiche le résultat de :

        ls -l ~/.bashrc
    2. desolé,c'est bête, je l'ai ecrit ~/.bashrc sans le point (.)

      mais toujours le meme probleme commende non trouvable

      merci
      1. Modérateur
        Affiche le contenu de ton fichier .bashrc s'il te plait, merci.
      2. Contributeur
        hello
        les alias ne sont pas reconnus dans un script, seulement interactivement dans un terminal
      3. Modérateur
        Salut,

        Ben merci dubcek. J'étais persuadé qu'en sourçant le .bashrc c'était possible ;-\

        Me coucherai moins c*n ce soir ;-)
      4. Modérateur
        Salut,

        J'étais persuadé qu'en sourçant le .bashrc c'était possible ;-\

        Oui c'est possible.
      5. Modérateur
        Salut,

        Ben non, j'avais essayé avant de répondre ;-((

        J'ai rajouté un alias à mon .bashrc (alias TOTO='echo "Mon nom est TOTO"').

        jp@MDK-2010:~ ssh$ TOTO
        Mon nom est TOTO
        
        jp@MDK-2010:~ ssh$ cat foo.sh
        #! /bin/bash
        
        #set -xv
        
        TOTO
        
        jp@MDK-2010:~ ssh$ ./foo.sh
        ./foo.sh: line 5: TOTO : commande introuvable
        
        jp@MDK-2010:~ ssh$ vi foo.sh     #(rajout commande "source")
        
        jp@MDK-2010:~ ssh$ cat foo.sh
        #! /bin/bash
        
        #set -xv
        . ~/.bashrc
        TOTO
        
        jp@MDK-2010:~ ssh$ ./foo.sh
        ./foo.sh: line 5: TOTO : commande introuvable
        
        jp@MDK-2010:~ ssh$

        ;-(((
    3. Contributeur
      utiliser cette commande pour que les aliases soient reconnus dans un script
      shopt -s  expand_aliases
      1. Modérateur
        Merci ;-))