J'ai un problème avec echo
dans mon script :
echo -n "Some string..."
imprime
-n Some string...
et passe à la ligne suivante. Dans la console, cela fonctionne correctement sans nouvelle ligne :
Some string...
J'ai un problème avec echo
dans mon script :
echo -n "Some string..."
imprime
-n Some string...
et passe à la ligne suivante. Dans la console, cela fonctionne correctement sans nouvelle ligne :
Some string...
C'est dur.
Veuillez noter :
Tout ce qui est ci-dessous est juste un gribouillage.
NE JAMAIS utiliser ceci dans un code de production
En fait, echo -n devrait être la solution.
v7 comprend echo -n (testé sur v7x86)
Mais HP-UX 11.00 ne le fait pas (il utilise : echo 'foo'). \c ')
Tâche :
S'occuper de HP-UX (affecte probablement aussi les autres versions d'unix de SysV ...)
aka : ECHO_N=... $ECHO_N foo echo bar devrait donner : foobar
Quelqu'un a suggéré /usr/bin/printf, mais ce n'était pas dans la v7.
J'ai essayé plusieurs fois. C'est sh à la rescousse (voir ci-dessous)
awk fonctionne bien :
awk 'BEGIN{printf "foo"}'</dev/null;echo bar
tr fonctionne bien :
echo 'foo' | tr -d '\012';echo bar
Je suggère :
sh -c 'echo "$0"|tr -d \'\\012\\'' foo ; echo bar
Il faut encore plus de citations folles pour que cela devienne un ECHO_N=.
(BTW : pourquoi "$@" ne fonctionne pas ici ?)
Note : Pas encore testé sur la v7
Certains conduisent des voitures V8
Je conduis v7, 4.3, 2.6, 3.4, 10.9
Votre millage peut varier.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
2 votes
Quelle implémentation du bourne shell utilisez-vous ? Si j'exécute
bash
en mode bourne shell, cela fonctionne bien ici. De plus, il est peu probable que vous utilisiez réellement un shell bourne comme shell interactif, non ?6 votes
Sur Ubuntu :
echo -ne "text without new line: "; echo "some text";
0 votes
Je sais que c'est très ancien, mais cela fonctionne pour moi sous Windows 10, pour ajouter un point sans nouvelle ligne : echo | set /p=".".