La fin de la ligne (nouvelle ligne) s'échappe à bash
Caractère d'échappement (\
) peut être utilisée pour échapper à la fin de la ligne, par exemple
% echo This could be \
a very \
long line\!
This could be a very long line!
%
cependant, n'est pas la fin de la ligne (nouvelle ligne), représenté par \n
qui a deux caractères. ne pas le résultat de l'évasion-être la traduction littérale de \n
. par exemple,
%echo $'\\n'
\n
%
Merci pour votre réponse!
Edit:
Désolé, je n'ai pas l'expliquer assez bien. Je n'essaie pas de l'écho d'une nouvelle ligne. Je me demande pourquoi \
est capable de caractère de nouvelle ligne (\n
) qui a deux caractères au lieu de simplement s'échapper de la barre oblique inverse dans le caractère de nouvelle ligne et de produire du sens littéral de l' \n
source d'informationauteur Yoland
Vous devez vous connecter pour publier un commentaire.
En fait,
\n
n'est pas vraiment un caractère de saut de ligne -- c'est une séquence d'échappement qui représente un retour à la ligne (qui est juste un caractère dans Linux). Le\
à la fin d'une ligne s'échappe de l' réelle caractère de saut de ligne que vous tapez à l'aide de la touche entrée. Vous pouvez regarder ce ASCII des valeurs représentent les différents caractères à l'aide de hexdump:Vous remarquerez que l'écho imprimé 3 caractères:
\
(5c),n
(6e), et un retour à la ligne (0a). Vous remarquerez également que sur le côté droit de la hexdump de sortie, retour à la ligne se présente comme un ".", parce qu'il est considéré comme un la non-impression de caractères.Retour à la ligne est le nom donné dans le monde UNIX, un personnage qui termine une ligne dans une ligne orientée vers le fichier (ou dans un terminal). Dans le monde UNIX/Linux, cela correspond à l'ASCII caractère de saut de ligne.
Différents systèmes d'utilisation des différentes conventions à la fin des lignes: Windows utilise une séquence de retour chariot et saut de ligne, alors que Mac à l'origine d'un retour chariot. Cette confusion provient du fait que ceux-ci étaient à l'origine des commandes nécessaires pour passer d'une imprimante tête d'impression pour le début d'une nouvelle ligne.
\n
est un classique façon d'exprimer le caractère de fin de ligne dans le code, à nouveau à l'origine dans le monde UNIX, plus précisément dans le langage C. Notez que lors de la lecture d'un fichier texte C se lit d'un seul caractère de saut de ligne, même sur les systèmes où c'est vraiment une des deux séquences de caractères.