Bash Escape Quotes

Bash Escape Quotes
La citation est utilisée pour désactiver la signification particulière des caractères spéciaux. Il existe de nombreux métacharacteurs de coquilles qui ont des significations spécifiques. Mais lorsque vous devez représenter ces caractères, il faudra supprimer la signification particulière de ces caractères et cela se fait en citant le personnage. Vous pouvez faire cette tâche en utilisant trois façons. Ceux-ci sont personnages d'échappement, Guillemets simples et double citation qui sont expliqués avec des exemples dans ce tutoriel.

Personnages d'échappement:

Le caractère d'échappement bash est défini par la barre oblique inverse (\). Il préserve la valeur littérale du caractère suivie de ce symbole. Normalement, $ symbole est utilisé dans Bash pour représenter toute variable définie. Mais si vous utilisez l'évasion devant $ symbole alors la signification de $ sera ignorée et il imprimera le nom de la variable au lieu de la valeur. Exécutez les commandes suivantes pour montrer les effets du caractère d'évasion (\).

Exemple 1:

Le sens de 'PWD'La commande consiste à afficher le chemin du répertoire de travail actuel. Dans l'exemple suivant, la valeur du 'PWD'La commande est stockée dans une variable. Quand \ le symbole est utilisé devant $ symbole puis le nom de la variable imprimera au lieu de la valeur.

$ pd = 'pwd'
$ echo $ pd
$ echo \ $ pd

Sortir:

Guillemets simples:

Lorsque vous joignez des caractères ou une variable avec une seule citation ('), il représente la valeur littérale des caractères. Ainsi, la valeur de toute variable ne peut pas être lue par une seule citation et une seule citation ne peut pas être utilisée dans un autre devis. Quelques exemples de devis unique sont illustrés ci-dessous.

Exemple n ° 2:

Dans cet exemple, une valeur de chaîne est stockée dans la variable $ var. 'écho'La commande imprime la valeur de cette variable sans aucune citation. Lorsque la variable est citée par une seule citation, le nom de la variable s'imprimera sous forme de sortie. Si la barre arrière (\) est utilisée avant le devis unique, la valeur de la variable sera imprimée avec une seule citation.

$ var = 'Langue de script bash'
$ echo $ var
$ echo '$ var'
$ echo \ '$ var \'

Sortir:

Exemple # 3:

Parfois, il est nécessaire d'imprimer une seule citation à l'intérieur d'une chaîne. Une seule chaîne citée ne peut pas contenir une autre citation unique à l'intérieur de la chaîne. Vous pouvez effectuer cette tâche en ajoutant par barrecte arrière à l'avant d'une seule citation. Dans l'exemple suivant, une seule citation de ne le faites pas le mot est imprimé en utilisant des barreaux arrière.

$ var = $ 'Je n'aime pas ce livre'
$ echo $ var

Sortir:

Exemple n ° 4:

Backticks n'est pas pris en charge par des citations uniques. Dans cet exemple, la valeur du calendrier est stockée dans une variable, $ var. La valeur de cette variable imprimera correctement par écho Commande si vous n'utilisez aucune citation. Mais lorsque la variable est citée par une seule citation dans la commande echo, il imprime le nom de la variable au lieu de la valeur de la variable.

$ var = 'cal'
$ echo $ var
$ echo '$ var'

Sortir:

Double citation

Double Quotes (”) est une autre façon de préserver la valeur littérale des caractères. Les personnages du signe du dollar ($) et des backticks (') peuvent garder leur signification particulière dans les doubles devis. BackSlash (\) peut également conserver sa valeur lorsqu'il est utilisé en suivant les backticks, la double citation et la barre arrière. Quelques exemples de citations doubles sont présentés ci-dessous.

Exemple n ° 5:

Une limitation de la citation unique est qu'elle ne peut pas analyser la valeur de la variable dans le devis. Dans cet exemple, une valeur de chaîne est attribuée à une variable nommée, $ var et imprimer la valeur de cette variable en utilisant une double citation dans la commande echo.

$ var = 'Langue de script côté serveur'
$ echo "php est un $ var"

Sortir:

Exemple # 6:

Toute sortie de commande peut être imprimée en utilisant une double citation. Dans l'exemple suivant, date La commande est enfermée par une double citation et imprimée en utilisant une double citation.

$ echo "Aujourd'hui, c'est« date »»

Sortir:

Exemple # 7:

Vous ne pouvez pas utiliser la double citation dans un autre devis double pour attribuer une valeur de chaîne. Si vous souhaitez imprimer une double citation dans la sortie, vous devez utiliser l'arrière-plan (\) avec la chaîne. De la même manière, vous pouvez imprimer des backtticks (') et des caractères de barre arrière (\) dans la sortie en utilisant la barre arrière (\) dans la double citation. Dans cet exemple, la première commande imprimera «500» avec la double citation, la deuxième commande imprimera «date» avec des backticks et la troisième commande imprimera «\ php \» avec barre.

$ echo "Le prix est \" 500 \ """"
$ echo ""\ 'DATE \' La commande est utilisée pour la valeur de date""
$ echo ""\\ php \\ est un langage de programmation""

Sortir:

Exemple # 8:

Les chaînes à double triché et à un seul est le même lorsqu'ils sont utilisés ensemble sans aucun espace dans une commande d'impression. Mais si vous utilisez un espace entre les valeurs de chaîne, ils traiteront comme une valeur séparée et imprimeront séparément. Dans cet exemple, trois chaînes à double quz sont utilisées dans la première commande printf. Ces chaînes se combineront et imprimeront en une seule chaîne lorsque vous exécuterez la commande. Deux chaînes à double qualité et une double trimed sont utilisées dans la deuxième commande d'impression et cela fonctionnera comme la première commande d'impression. Trois chaînes à double quotid avec l'espace sont utilisées dans la troisième commande d'impression et chaque valeur de chaîne fonctionnera comme une chaîne séparée et imprimera chaque chaîne dans une nouvelle ligne.

$ printf '% s \ n' ""Ubuntu"" ""Linuxmint"" ""Fedora""
$ printf '% s \ n' 'ubuntu' ""Linuxmint"" 'fedora'
$ printf '% s \ n' ""Ubuntu"" ""Linuxmint"" ""Fedora""

Sortir:

Exemple n ° 9:

Créer un fichier bash nommé s'échapper.shot, et ajouter le code suivant. Dans cet exemple, une données texte avec des devis doubles et un signe en dollars est utilisé. Il est montré plus tôt que la double citation et le symbole du dollar ne peuvent pas imprimer dans une chaîne entourée de double devis. Ainsi, la barre arrière est ajoutée devant les doubles devis et le symbole du dollar pour imprimer ces. Ici, une boucle pour une boucle est utilisée pour itérer la variable de chaîne, $ String et imprimer chaque mot du texte stocké dans cette variable.

#!/ bac / bash
#Initialiser la variable avec un caractère spécial
String = ""Le prix de ce"" livre \ ""est \ 50 $""
#Iterate et imprimer chaque mot de la variable de chaîne
pour mot dans $ string
faire
Echo $ mot
fait

Exécutez le script.

$ Bash Escape.shot

Sortir:

Conclusion

Hope, ce tutoriel vous aidera à utiliser les caractères d'échappement, la citation unique et la double citation en fonction des exigences de votre script.

"