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!