echo [-neE] [arguments ...]
Affiche les arguments, séparés par des espaces, suivis par un saut de ligne. La valeur renvoyée est toujours 0. Si -n est indiqué, le saut de ligne final est supprimé. Si l'option -e est indiquée, l'interprétation des
caractères suivants d'échappement par une contre-oblique est activée. L'option -E désactive l'interprétation de ces caractères d'échappement, même sur les systèmes où ils sont interprétés par défaut. L'option
d'interpréteur xpg_echo peut être utilisée dynamiquement pour déterminer si echo développe ou non par défaut ces caractères d'échappement. echo n'interprète pas -- comme signifiant la fin des options. echo reconnaît
les suites de caractères d'échappement suivantes :
\a alerte (alarme) ;
\b effacement arrière (« backspace ») ;
\c supprime tout affichage suivant ;
\e caractère d'échappement ;
\f saut de page (« form feed ») ;
\n saut de ligne (« new line ») ;
\r retour chariot (« carriage return ») ;
\t tabulation horizontale ;
\v tabulation verticale ;
\\ contre-oblique ;
\0nnn le caractère 8 bits dont la valeur en octal est nnn (zéro à trois chiffres octaux) ;
\xHH le caractère 8 bits dont la valeur hexadécimale est HH (un ou deux chiffres hexadécimaux) ;
Le man de bash n’indique pas d’options -v pour echo (note que c’est la raison qui fait qu’il l’affiche tout ce qui n’est pas une option est à afficher pour lui). Tu cherche à faire quoi ?
Si ton objectif était d’afficher simultanément sur la sortie standard et dans un fichier, il suffit de faire :
echo '#!/bin/sh' | tee $MA_VAR1/$MA_VAR2/dossier/testrs.sh
echo '' | tee -a $MA_VAR1/$MA_VAR2/dossier/testrs.sh
echo "# Variables" | tee -a $MA_VAR1/$MA_VAR2/dossier/testrs.sh
Mais je trouve ça plus pratique (on voit mieux le contenu du fichier, le nom du fichier n’est utilisé qu’une seule fois, on peut imaginer que c’est un chouia plus léger mais c’est pas sur) :
[code]cat > $MA_VAR1/$MA_VAR2/dossier/testrs.sh <<“EOF”
#!/bin/sh
Variables
EOF[/code]