Il personaggio di Bash Escape è definito da Backslash non citato (\). Preserva il valore letterale del carattere seguito da questo simbolo. Normalmente, $ simbolo viene utilizzato in bash per rappresentare qualsiasi variabile definita. Ma se usi la fuga di fronte a $ simbolo quindi il significato di $ verrà ignorato e stamperà il nome variabile anziché il valore. Esegui i seguenti comandi per mostrare gli effetti del carattere di fuga (\).
Esempio 1:
Il significato di 'PWD'Il comando è visualizzare il percorso di directory di lavoro corrente. Nell'esempio seguente, il valore del 'PWD'Il comando è archiviato in una variabile. Quando \ il simbolo viene utilizzato davanti a $ simbolo, quindi il nome variabile verrà stampato anziché il valore.
$ pd = 'pwd'
$ echo $ pd
$ echo \ $ pd
Produzione:
Citazioni singole:
Quando si racchiude caratteri o variabili con singolo citazione ('), allora rappresenta il valore letterale dei caratteri. Quindi, il valore di qualsiasi variabile non può essere letto da un singolo preventivo e un singolo preventivo non può essere usato all'interno di un altro singolo preventivo. Alcuni esempi di citazione singola sono mostrati di seguito.
Esempio n. 2:
In questo esempio, un valore di stringa viene archiviato nella variabile $ var. 'eco'Il comando stampa il valore di questa variabile senza alcuna quotazione. Quando la variabile è citata da un singolo preventivo, il nome della variabile verrà stampata come output. Se la backslash (\) viene utilizzata prima del singolo preventivo, il valore della variabile verrà stampato con un singolo preventivo.
$ var = 'Bash Scripting Language'
$ echo $ var
$ echo '$ var'
$ echo \ '$ var \'
Produzione:
Esempio#3:
A volte è necessario per stampare un singolo preventivo all'interno di una stringa. Una singola stringa citata non può contenere un'altra citazione singola all'interno della stringa. Puoi fare questo compito aggiungendo la retroscena nella parte anteriore del singolo preventivo. Nel seguente esempio, singola citazione di non la parola viene stampata usando la retroscena.
$ var = $ 'non mi piace questo libro'
$ echo $ var
Produzione:
Esempio#4:
Backticks non è supportato da singole citazioni. In questo esempio, il valore del calendario viene archiviato in una variabile, $ var. Il valore di questa variabile stamperà correttamente da eco comando se non usi alcun preventivo. Ma quando la variabile è citata da un singolo preventivo nel comando Echo, stampa il nome della variabile anziché il valore della variabile.
$ var = 'cal'
$ echo $ var
$ echo '$ var'
Produzione:
Virgolette
Doppie citazioni (") è un altro modo per preservare il valore letterale dei personaggi. I personaggi del segno del dollaro ($) e dei backticks (') possono mantenere il loro significato speciale in doppie citazioni. Backslash (\) può anche conservare il suo valore quando viene utilizzato seguendo i retrovini, il doppio preventivo e la backslash. Di seguito sono riportati alcuni esempi di doppie citazioni.
Esempio#5:
Una limitazione della singola citazione è che non può analizzare il valore della variabile all'interno della citazione. In questo esempio, un valore di stringa viene assegnato a una variabile denominata, $ var e stampare il valore di quella variabile usando la doppia citazione nel comando Echo.
$ var = "linguaggio di scripting lato server"
$ echo "php è un $ var"
Produzione:
Esempio#6:
Qualsiasi output di comandi può essere stampato utilizzando la doppia citazione. Nel seguente esempio, data Il comando è racchiuso per doppia citazione e stampato utilizzando la doppia citazione.
$ echo "Oggi è 'data'"
Produzione:
Esempio#7:
Non è possibile utilizzare la doppia preventiva all'interno di un'altra doppia quotazione per assegnare qualsiasi valore di stringa. Se si desidera stampare il doppio preventivo nell'output, è necessario utilizzare la backslash (\) con la stringa. In modo simile, è possibile stampare i caratteri di backticks (') e backslash (\) nell'output usando la backslash (\) all'interno della doppia citazione. In questo esempio, il primo comando stamperà "500" con la doppia citazione, il secondo comando stamperà "Data" con i backticks e il terzo comando stamperà "\ php \" con backslash.
$ echo ""Il prezzo è \"" 500 \ """"
Il comando $ echo ""\ 'date \' viene utilizzato per il valore della data""
$ echo ""\\ php \\ è un linguaggio di programmazione""
Produzione:
Esempio#8:
Le stringhe a doppia quota e singola indice funzionano lo stesso quando vengono utilizzate insieme senza spazio in un comando di stampa. Ma se usi qualsiasi spazio tra i valori della stringa, tratteranno come valore separato e stampano separatamente. In questo esempio, nel primo comando printf vengono utilizzate tre stringhe a doppia quota. Queste stringhe si combinano insieme e stampano come una singola stringa quando eseguirai il comando. Nel secondo comando di stampa vengono utilizzati due stringhe a doppio citazione e una riduzione a doppia quota e funzionerà come il primo comando di stampa. Tre stringhe a doppia quota con spazio vengono utilizzate nel terzo comando di stampa e ogni valore della stringa funzionerà come stringa separata e stampano ogni stringa in una nuova linea.
$ printf '%s \ n' ""ubuntu"" ""linuxmin"" ""fedora""
$ printf '%s \ n' 'ubuntu' ""linuxmint"" 'fedora'
$ printf '%s \ n' ""ubuntu"" ""linuxmin"" ""fedora""
Produzione:
Esempio#9:
Crea un file bash denominato fuga.sh, e aggiungi il seguente codice. In questo esempio, vengono utilizzati dati di testo con preventivi doppi e segno di dollari. Viene mostrato in precedenza che il doppio preventivo e il simbolo del dollaro non possono stampare all'interno di una stringa racchiusa per doppia citazione. Quindi, la retromarcia viene aggiunta di fronte alle doppie citazioni e al simbolo del dollaro per stamparli. Qui, un loop è usato per iterare la variabile di stringa, $ string e stampare ogni parola del testo che viene archiviato in quella variabile.
#!/Bin/Bash
#Initializza la variabile con carattere speciale
string = ""il prezzo di questo libro \"" \ ""è \ $ 50""
#Iterare e stampare ogni parola della variabile stringa
Per Word in $ String
Fare
echo $ word
Fatto
Esegui lo script.
$ Bash Escape.sh
Produzione:
Spero, questo tutorial ti aiuterà a utilizzare i personaggi di escape, preventivo singolo e doppia citazione in base ai requisiti del tuo script.
"