Bonjour à tous,

j'essaye de faire une abreviation d'un fonction dans un script pour faire les logs :

test.sh
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
 
#!/bin/bash
alias log='fct_log $FUNCNAME '
 
fct_log()
{
   echo "LOG : $1 $2"
}
 
titi()
{
   echo ici
   alias log
   log "petite log"
}
Si je fais ./test.sh
j'ai ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
ici
alias log='fct_log $FUNCNAME'
line 12 : log : command not found
Pourtant l'alias est bien défini mais il cherche la command log au lieu de l'alias

Par contre, si je fais un :
Cela fonction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
ici
alias log='fct_log $FUNCNAME'
LOG : titi petite log
Est ce que quelqun a une idée de la différence de comportement ?
pourquoi il cherche la commande au lieu de l'alias ?
pourquoi avec un source cela fonctionne ?

cdt,
dosy07