Operatori di reindirizzamento bash Linux

Operatori di reindirizzamento bash Linux
Su Linux, il terminale è tutto, è dove passiamo i comandi, ed è dove passiamo gli script. Pertanto, uno dei linguaggi di scripting più importanti è Bash. Gli script bash vengono utilizzati per automatizzare le attività noiose in Linux. Al fine di automatizzare le attività, i comandi vengono scritti all'interno dello script e dati un'estensione di .sh. Come parte dei comandi, vengono utilizzati anche alcuni operatori. Questi operatori sono unici per Bash e ognuno ha il suo significato specifico. In questo tutorial, esamineremo gli operatori di reindirizzamento incontrati durante gli script di Bash e il loro significato specifico.

Operatore di reindirizzamento: <

Il simbolo < is used for input redirection. Files, for example, can be used as input. However, in this case, the input redirection is a read-only redirection.

Per esempio:

#! /Bin/Bash
gatto < file.txt

In questo caso, il file.txt viene preso come input e il comando cat quindi lo gatto.

Operatore di reindirizzamento: <<

L'operatore di reindirizzamento << is also known as the here-document. The here-document allows one to put a line of input into a command in many.

Per esempio:

#! /Bin/Bash
gatto << EOF
prima linea
seconda linea
Eof
wc << EOF
prima linea
seconda linea
Eof

Ok, quindi qui abbiamo due righe di input. Nella prima sezione, inviamo l'input al gatto, che il gatto è tutto fuori. E nella seconda sezione, contiamo il numero di righe, parole e caratteri usando il comando WC. Ad ogni modo, il punto è che potremmo inviare più righe in Input anziché una singola riga.

Operatore di reindirizzamento:>

Questo simbolo, noto come operatore di reindirizzamento del file, viene in genere utilizzato per reindirizzare il contenuto di un comando/file a un altro sovrascrittura Esso. Intendiamoci; lo sovrascrive - in grassetto e in corsivo!

Per esempio:

#! /Bin/Bash
Echo "Hello World"> File.TXT

Qui, il simbolo> è simile a 1>. Questo perché l'1 è un descrittore di file per l'output standard. Si prega di notare che i descrittori di file sono i seguenti:

0 - Input standard, stdin
1 - Output standard, stdout
2 - Errore standard, Stderr

Nello scenario precedente, la singola freccia in avanti era equivalente a 1>. Tuttavia, possiamo anche scrivere 2> per inoltrare l'errore standard.

Per esempio:

#! /Bin/Bash
File MCAT.txt 2> file2.TXT

Qui, il 2> significa che l'errore generato verrà scaricato nel file2.TXT.

Operatore di reindirizzamento: >>

Il simbolo >> viene utilizzato per aggiungere e non sostituire! L'operatore di reindirizzamento del file> sostituisce o sovrascrive tutto mentre il >> viene utilizzato per aggiungere. Quest'ultimo aggiungerà il contenuto specificato alla fine del file.

Per esempio:

#! /Bin/Bash
Echo "Questa è la seconda riga" >>.TXT
Echo "Questa è la terza riga" >>.TXT

Quest'ultimo aggiungerà le due righe al file chiamato file.TXT. Il risultato del file.txt sarà quindi il seguente:

Operatore di reindirizzamento: |

L'operatore di reindirizzamento | viene utilizzato per inviare l'output del primo comando come input del secondo comando. Ad esempio, se passo un comando iniziale e quindi "pipe" l'output generato da questo comando usando il | operatore in un secondo comando, verrà ricevuto come input e quindi elaborato.

Per esempio:

#! /Bin/Bash
ls-la | Sed 'S/Bash/Rediirection_Operator/'

Qui, SED con il comando S viene utilizzato per sostituire un nome per un altro. Quindi, sed 's/bash/rediirection_operator/' viene utilizzato per sostituire la parola bash con la parola rediirection_operator.

Allora cosa ci facciamo qui? Bene, "LS -la" elencherà tutto in dettaglio e l'operatore di tubi lo prenderà e lo invierà al secondo comando. Il secondo comando (sed 's/bash/rediirection_operator/') sostituirà la parola bash con la parola rediirection_operator e lo stamperà sullo schermo.

Operatore di reindirizzamento:> &

Questo simbolo reindirizza sia l'output standard che l'errore standard.

Per esempio;

Bash -c 'ls -la> & file.TXT'

In questo caso,> & simbolo reindirizzano sia l'output standard che l'errore standard nel file chiamato file.TXT. Pertanto, sia l'output generato che l'errore generato sono inseriti nello stesso file.

Supponiamo ora che scriviamo questo invece:

Bash -c 'mls -la> & file.TXT'

In questo caso, dovrebbe essere generato un errore perché non esiste un comando MLS. Qui, l'errore verrà anche inviato al file.documento txt.

Operatore di reindirizzamento:> |

Ci sono momenti in cui non è possibile sovrascrivere un file a causa delle restrizioni dei file. Supponiamo ora di avere un file chiamato file.txt che non può essere sovrascritto.

Quindi il seguente comando non sovrascriverà un file:

#! /Bin/Bash
echo “ehlo”> /tmp /file.TXT

Usiamo l'operatore> | per sovrascrivere forzatamente il file in tali casi.

Qui, scriviamo quanto segue per sovrascrivere il file con forza:

#! /Bin/Bash
echo "ehlo"> | /tmp/file.TXT

Operatore di reindirizzamento: & >>

L'operatore e >> aggiungerà l'output standard e l'errore standard al file specificato.

Ex:

#! /Bin/Bash
LSL e >> file.TXT

In questo esempio, abbiamo un file chiamato file.txt, contenente due righe. Quando eseguiamo lo script chiamato Bash.Sh, che contiene un comando che non esiste, questo dovrebbe lanciare un errore. Questo errore viene catturato e aggiunto al file.TXT. Se il comando non conteneva errori, lo avrebbe preso e lo avrebbe inviato per aggiungerlo al file chiamato file.TXT.

Operatore di reindirizzamento: <<-

L'operatore di reindirizzamento <<- will strip all tabs from a multi-line input.

Per esempio:

#! /Bin/Bash
Di più <<- EOF
prima linea
seconda linea
Eof

Qui ci sono schede prima delle due righe di input (prima riga, seconda riga). Ma quando viene generata l'output, le schede vengono ignorate.

Operatore di reindirizzamento:

L'operatore di reindirizzamento apre un file sia per la lettura che per la scrittura.

Bash Scripting è un linguaggio di scripting chiave che può essere utilizzato per automatizzare le attività. Durante gli script bash, incontriamo molto codice, ma incontriamo anche operatori di reindirizzamento che sono unici per Bash. Questi operatori hanno ciascuno un ruolo particolare negli script bash e non sono sempre ovvi. In questo tutorial, abbiamo esaminato alcuni operatori di reindirizzamento utilizzati durante la scrittura di script bash. Ovviamente, ci sono molti operatori di reindirizzamento là fuori; Tuttavia, alcuni si incontrano così frequentemente che potrebbe essere necessario conoscerli durante gli script bash. Quindi vai avanti, senza paura degli operatori di reindirizzamento da qui in poi!

Codice felice!