Dans une coque Linux, je veux imprimer: mais quand je fais écho -e "300 \ N $ 400" code> Il montre: p >
00
00
4 Réponses :
Vous devez échapper dollar $ code>, puisque vous utilisez des guillemets doubles, cela garantira que le mot n'est pas interprété par la coque.
$ echo '$test'
$test
Vous pouvez utiliser une citation unique. Les caractères de conçoivent des guillemets simples (') doivent préserver la valeur littérale de chaque caractère dans les guillemets simples, où, comme englobant des caractères dans des guillemets (") doivent préserver la valeur littérale de tous les caractères dans les doubles citations, avec le Exception des personnages BACK Devis, signe dollar et backslash.
echo -e '$'300"\n"'$'400
Non, ça ne marche pas. Lorsque vous faites echo '300 \ N $ 400', il affiche 300 \ N $ 400 $
Les citations simples échappent à tout, y compris le nouveau caractère de ligne. Si vous souhaitez imprimer une nouvelle ligne, essayez - écho -e '$ 300 "\ n" 400 $. Ici, vous ne mettez que la signature du dollar en une seule citation et une nouvelle ligne en double citation.
Dans votre cas, vous ne voulez pas que la coquille pense que vous essayez d'imprimer la valeur des variables Shell, vous devez donc dire à la coque que le Ajout d'une barre oblique inverse avant que les caractères ne soient appelés les échappés (oui, pas la terminologie la plus évidente), et vous utilisez déjà des caractères d'évacuation inconsciemment. ( Ceci s'applique également à d'autres opérateurs, tels que $ code> a une signification particulière à la coquille; Lorsqu'il voit un
$ code>, il s'attend à ce qu'un nom de variable de shell existant soit à suivre. Par exemple,
$ chemin code>. P>
$ code> est en effet ce que vous vouloir être affiché. Ceci est fait en le précisant avec une barre oblique inverse comme expliqué dans d'autres réponses. p>
\ n code>) p>
= code>,
: code>, etc. espère que cela aide. P>
dans la coquille, le caractère Les variables 0, 1, 2, etc. contiennent les arguments de la ligne de commande au programme. Donc, si vous exécutez votre programme comme $ code> a une signification particulière. Cela signifie "remplacer le mot $ et le mot ou le chiffre ou le caractère spécial suivant avec la valeur d'une variable de ce nom". Par exemple:
My-Program Bonjour, Monde Code>, vous pouvez écrire ce code: P>
price=123
echo "The price is $price\$"
Dupliqué possible de Stackoverflow.com/questions/25036555 / ...
@Geralexgr pas le même problème cependant