[resolu] Awk - Probleme De Shell Incomprehensible - ? awk -F ":" '{print $2}' /etc/passwd ?

Bonjour a tous,

je suis entrain de faire un shell script et j ai une erreur que je ne comprend pas du tout voici mon script :

NB: (nb_dest contient un chiffre par exemple ‹ 2 ›)

test='$'$nb_dests
echo "VALEUR DE TEST : " $test
echo "awk -F : '{print $test}' /etc/passwd"
awk -F ":" '{print $test}' /etc/passwd

pourtant il est pas bien grand :wink:

ligne1 : je concatene donc une variable avec un $ , par exemple $ et ‹ 2 › va donner ‹ $2 ›

ligne 2 : ensuite debogage :wink: je verifie c’est ok

ligne3 : je fais un echo pour verifier la commande que je lance à la ligne 4 j’ai bien "print $2" comme prevu (pour afficher seulement la deuxieme colonne)

et la ligne4 : la commande ne me donne pas le deuxieme champ comme prevu ;( il me donne la ligne entiere et je ne comprends pas pourquoi ?!?

comme puis je faire tout en gardant cette "algo" dans mon shell svp

merci d’avance

faut

cmd=‹ $ ›$test

et ensuite

awk -F ":" ‹ {print ‹ $cmd ›} › /etc/passwd

ou plus implement

awk -F ":" ‹ {print $ ›$test’}’ /etc/passwd

les ’ ’ empeche l’evaluation

merci beaucoup je retiendrai cette astuce !!

merci encore :wink: