Opérateur de redirection: <
Le symbole < 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.
Par exemple:
#! / bac / bash
chat < file.txt
Dans ce cas, le fichier.txt est considéré comme l'entrée, et la commande Cat le crée ensuite.
Opérateur de redirection: <<
L'opérateur de redirection << is also known as the here-document. The here-document allows one to put a line of input into a command in many.
Par exemple:
#! / bac / bash
chat << EOF
Première ligne
deuxième ligne
Eof
toilettes << EOF
Première ligne
deuxième ligne
Eof
OK, alors ici, nous avons deux lignes d'entrée. Dans la première section, nous envoyons l'entrée au chat, qui chatte tout. Et dans la deuxième section, nous comptons le nombre de lignes, de mots et de caractères en utilisant la commande WC. Quoi qu'il en soit, le fait est que nous pourrions envoyer plusieurs lignes en entrée au lieu d'une seule ligne.
Opérateur de redirection:>
Ce symbole, connu sous le nom d'opérateur de redirection de fichier, est généralement utilisé pour rediriger le contenu d'une commande / fichier vers un autre par écrasement il. Attention; il le remplace - en gras et en italique!
Par exemple:
#! / bac / bash
Echo «Hello World»> Fichier.SMS
Ici, le symbole> est similaire à 1>. Il en est ainsi parce que le 1 est un descripteur de fichiers pour la sortie standard. Veuillez noter que les descripteurs de fichiers sont les suivants:
0 - Entrée standard, stdin
1 - Sortie standard, stdout
2 - Erreur standard, stderr
Dans le scénario précédent, la flèche avant unique était équivalente à 1>. Cependant, nous pouvons également écrire 2> pour transmettre l'erreur standard.
Par exemple:
#! / bac / bash
Fichier MCAT.txt 2> file2.SMS
Ici, le 2> signifie que l'erreur générée sera jetée dans le fichier2.SMS.
Opérateur de redirection: >>
Le symbole >> est utilisé pour ajouter et non pour remplacer! L'opérateur de redirection de fichier> remplace ou écrase tout tandis que le >> est utilisé pour ajouter. Ce dernier ajoutera le contenu spécifié à la fin du fichier.
Par exemple:
#! / bac / bash
Echo "Ceci est la deuxième ligne" >> Fichier.SMS
Echo "Ceci est la troisième ligne" >> Fichier.SMS
Ce dernier ajoutera les deux lignes au fichier appelé fichier.SMS. Le résultat du fichier.TXT sera alors le suivant:
Opérateur de redirection: |
L'opérateur de redirection | est utilisé pour envoyer la sortie de la première commande comme entrée de la deuxième commande. Par exemple, si je passe une commande initiale, puis «tuyau» la sortie générée par cette commande en utilisant le | Opérateur dans une deuxième commande, il sera reçu comme entrée puis traité.
Par exemple:
#! / bac / bash
ls-la | SED 'S / BASH / Redirection_Operator /'
Ici, SED avec la commande S est utilisé pour remplacer un nom à un autre. Ainsi, SED 'S / BASH / Redirection_Operator /' est utilisé pour remplacer le mot bash par le mot redirection_operator.
Alors que faisons-nous ici? Eh bien, «ls -La» lissera tout en détail, et l'opérateur de tuyaux prendra cela et l'enverra à la deuxième commande. La deuxième commande (SED 'S / BASH / Redirection_Operator /') remplacera le mot bash par le mot redirection_operator et l'imprimera à l'écran.
Opérateur de redirection:> &
Ce symbole redirige à la fois la sortie standard et l'erreur standard.
Par exemple;
bash -c 'ls -la> & fichier.SMS'
Dans ce cas, le> & symbole redirige à la fois la sortie standard et l'erreur standard vers le fichier appelé fichier.SMS. Ainsi, la sortie générée et l'erreur générée sont placées dans le même fichier.
Supposons maintenant que nous écrivons ceci à la place:
BASH -C 'MLS -LA> & Fichier.SMS'
Dans ce cas, une erreur doit être générée car il n'y a pas de commande MLS. Ici, l'erreur sera également envoyée au fichier.Document TXT.
Opérateur de redirection:> |
Il y a des moments où vous ne pouvez pas écraser un fichier en raison des restrictions de fichiers. Supposons maintenant que vous ayez un fichier appelé fichier.txt qui ne peut pas être écrasé.
Ainsi, la commande suivante ne remplacera pas réellement un fichier:
#! / bac / bash
Echo «ehlo»> / tmp / fichier.SMS
Nous utilisons l'opérateur> | pour écraser de force le fichier dans de tels cas.
Ici, nous rédigerions ce qui suit pour écraser le fichier de force:
#! / bac / bash
Echo «ehlo»> | / TMP / Fichier.SMS
Opérateur de redirection: & >>
L'opérateur & >> ajoutera la sortie standard et l'erreur standard au fichier spécifié.
Ex:
#! / bac / bash
Fichier LSL & >>.SMS
Dans cet exemple, nous avons un fichier appelé fichier.txt, contenant deux lignes. Lorsque nous exécutons le script appelé bash.sh, qui contient une commande qui n'existe pas, cela devrait lancer une erreur. Cette erreur est capturée et annexée sur le fichier.SMS. Si la commande n'avait pas contenu d'erreurs, elle l'aurait également attrapée et l'aurait envoyée pour l'ajouter au fichier appelé fichier.SMS.
Opérateur de redirection: <<-
L'opérateur de redirection <<- will strip all tabs from a multi-line input.
Par exemple:
#! / bac / bash
plus <<- EOF
Première ligne
deuxième ligne
Eof
Ici, il y a des onglets avant les deux lignes d'entrée (première ligne, deuxième ligne). Mais lorsque la sortie est générée, les onglets sont ignorés.
Opérateur de redirection:
L'opérateur de redirection ouvre un fichier à la fois pour la lecture et l'écriture.
Les scripts bash sont un langage de script clé qui peut être utilisé pour automatiser les tâches. Pendant les scripts bash, nous rencontrons beaucoup de code, mais nous rencontrons également des opérateurs de redirection qui sont uniques à Bash. Ces opérateurs ont chacun un rôle particulier dans les scripts bash, et ils ne sont pas toujours évidents. Dans ce tutoriel, nous avons passé en revue quelques opérateurs de redirection utilisés lors de la rédaction de scripts bash. De toute évidence, il existe de nombreux opérateurs de redirection; Cependant, certains sont rencontrés si fréquemment qu'il pourrait être nécessaire de les connaître pendant les scripts. Alors allez-y, sans peur des opérateurs de redirection à partir d'ici!
Codage heureux!