Bash Escape Quotes

Bash Escape Quotes
Sitering brukes til å deaktivere spesialtegnens spesielle betydning. Det er mange skallmetakarakterere som har spesifikke betydninger. Men når du trenger å representere disse karakterene, vil det kreve å fjerne den spesielle betydningen av disse karakterene, og det gjøres ved å sitere karakteren. Du kan gjøre denne oppgaven ved å bruke tre måter. Disse er unnslippe karakterer, enkelt sitater og Doble sitater som er forklart med eksempler i denne opplæringen.

Unnslippe tegn:

Bash Escape-karakter er definert av ikke-sitert backslash (\). Det bevarer den bokstavelige verdien av tegnet etterfulgt av dette symbolet. Normalt brukes $ symbol i bash for å representere enhver definert variabel. Men hvis du bruker flukt foran $ symbolet da vil betydningen av $ bli ignorert, og det vil skrive ut variabelnavnet i stedet for verdien. Kjør følgende kommandoer for å vise effekten av rømningskarakter (\).

Eksempel nr. 1:

Meningen med 'PWD'Kommando er å vise den gjeldende arbeidskatalogstien. I det følgende eksemplet er verdien av 'PWD'Kommando lagres i en variabel. Når \ symbolet brukes foran $ symbol, så vil variabelnavnet skrives ut i stedet for verdien.

$ pd = 'pwd'
$ ekko $ pd
$ ekko \ $ pd

Produksjon:

Enkelt sitater:

Når du vedlegger tegn eller variabel med enkelt sitat ('), representerer det den bokstavelige verdien av karakterene. Så verdien av en hvilken som helst variabel kan ikke leses etter enkelt sitat, og et enkelt sitat kan ikke brukes i et annet enkelt sitater. Noen eksempler på enkelt sitat vises nedenfor.

Eksempel 2:

I dette eksemplet lagres en strengverdi i variabelen $ var. 'ekko'Kommando skriver ut verdien av denne variabelen uten tilbud. Når variabelen er sitert av enkelt sitat, vil variabelen navn skrive ut som utdata. Hvis tilbakeslaget (\) brukes før det enkelt sitatet, vil verdien av variabelen bli skrevet ut med enkelt sitat.

$ var = 'bash scripting språk'
$ ekko $ var
$ ekko '$ var'
$ ekko \ '$ var \'

Produksjon:

Eksempel nr. 3:

Noen ganger kreves det å skrive ut et enkelt sitat i en streng. En enkelt sitert streng kan ikke inneholde et annet enkelt sitat inne i strengen. Du kan gjøre denne oppgaven ved å legge til tilbakeslag foran enkelt sitat. I det følgende eksempelet, enkelt sitat av ikke Ordet skrives ut ved å bruke tilbakeslag.

$ var = $ 'jeg ikke som denne boken'
$ ekko $ var

Produksjon:

Eksempel 4:

Backticks støttes ikke av enkelt sitater. I dette eksemplet lagres kalenderverdien i en variabel, $ var. Verdien av denne variabelen vil skrives ut riktig av ekko Kommando hvis du ikke bruker noe sitat. Men når variabelen er sitert av enkelt sitat i Echo -kommandoen, skriver den ut variabelen navn i stedet for verdien av variabelen.

$ var = 'cal'
$ ekko $ var
$ ekko '$ var'

Produksjon:

Doble sitater

Doble sitater (”) er en annen måte å bevare den bokstavelige verdien av karakterene. Dollarskiltet ($) og backticks (') tegn kan i stand til å holde sin spesielle mening innen doble sitater. Backslash (\) kan også beholde sin verdi når den brukes ved å følge backticks, dobbelt tilbud og tilbakeslag. Noen eksempler på doble sitater vises nedenfor.

Eksempel 5:

En begrensning av det eneste sitatet er at det ikke kan analysere verdien av variabelen i sitatet. I dette eksemplet tildeles en strengverdi til en variabel som er navngitt, $ var og skriv ut verdien av den variabelen ved å bruke dobbelt tilbud i Echo -kommandoen.

$ var = 'Series-Side Scripting Language'
$ ekko "php er en $ var"

Produksjon:

Eksempel 6:

Enhver kommandoutgang kan skrives ut ved å bruke dobbelt tilbud. I det følgende eksemplet, Dato Kommandoen er vedlagt ved dobbelt tilbud og skrevet ut ved å bruke dobbelt sitat.

$ ekko "i dag er 'date'"

Produksjon:

Eksempel 7:

Du kan ikke bruke dobbelt tilbud innen et annet dobbelt tilbud for å tilordne noen strengverdi. Hvis du vil skrive ut dobbelt tilbud i utdataene, må du bruke tilbakeslaget (\) med strengen. På en lignende måte kan du skrive ut backticks (') og backslash (\) tegn i utgangen ved å bruke Backslash (\) i det doble sitatet. I dette eksemplet vil den første kommandoen skrive ut “500” med det doble sitatet, den andre kommandoen vil skrive ut 'Dato' med backticks, og den tredje kommandoen vil skrive ut “\ php \” med backslash.

$ ekko "Prisen er \" 500 \ """"
$ ekko ""\ 'Dato \' Kommando brukes til datoverdi""
$ ekko ""\\ php \\ er et programmeringsspråk""

Produksjon:

Eksempel nr. 8:

Dobbelt siterte og enkeltkjørte strenger fungerer samme når de brukes sammen uten plass i en utskriftskommando. Men hvis du bruker noe mellomrom mellom strengverdiene, vil de behandle som egen verdi og skrive ut separat. I dette eksemplet brukes tre dobbeltkjørte strenger i den første Printf-kommandoen. Disse strengene vil kombinere sammen og skrive ut som en enkelt streng når du kjører kommandoen. To enkeltkjørte og en dobbelt siterte strenger brukes i den andre utskriftskommandoen, og den vil fungere som den første utskriftskommandoen. Tre dobbelt siterte strenger med plass brukes i den tredje utskriftskommandoen, og hver strengverdi fungerer som en egen streng og skriv ut hver streng i en ny linje.

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

Produksjon:

Eksempel 9:

Lag en bash -fil som heter flukt.sh, og legg til følgende kode. I dette eksemplet brukes en tekstdata med doble sitater og dollarskilt. Det er vist tidligere at dobbelt sitat og dollarsymbol ikke kan skrives ut i en streng vedlagt med dobbelt sitat. Så, tilbakeslaget blir lagt til foran doble sitater og dollar -symbolet for å skrive ut disse. Her brukes en for loop til å iterere strengvariabelen, $ streng og skriv ut hvert ord i teksten som er lagret i den variabelen.

#!/bin/bash
#Initialiser variabelen med spesiell karakter
String = ""Prisen på denne \"" bok \ ""er \ $ 50""
#Iterat og skriv ut hvert ord i strengvariabelen
for ord i $ streng
gjøre
ekko $ ord
Ferdig

Kjør manuset.

$ Bash Escape.sh

Produksjon:

Konklusjon

Håper, denne opplæringen vil hjelpe deg å bruke fluktkarakterer, enkelt sitat og dobbelt sitat basert på kravene i skriptet ditt.

"