Redirecció
Aquesta entrada o secció sobre el tema del sistema operatiu no menciona les fonts necessàries o els que hi són presents són insuficients . |
La redirecció , en informàtica , és la desviació dels canals estàndard ( entrada estàndard , sortida estàndard i error estàndard ) d’una ordre determinada cap a destinacions (o de fonts, en el cas d’ entrada estàndard ) que són diferents dels predefinits.
Exemples
La redirecció és típica de molts intèrprets de text i es pot fer mitjançant la inserció de caràcters de redirecció adequats entre les ordres. La sintaxi típica és la següent:
ordre > nom de fitxer
A l'exemple anterior, l' ordre s'executa i la seva sortida estàndard s'escriu al nom del fitxer . De manera similar, podeu proporcionar una ordre amb dades sobre l'entrada estàndard :
ordre < nom del fitxer
En aquest cas, l' ordre s'executa processant les dades presents al nom del fitxer del fitxer .
Tingueu en compte que la sortida estàndard d'una ordre es pot proporcionar directament com a entrada estàndard d'una ordre posterior interposant una barra vertical (" |
") entre elles, per exemple:
ordre1 | command2
Aquí s'executa la comanda1 i la seva sortida es converteix en l'entrada de la comanda2 (la sortida de la qual també es pot redirigir). En aquest cas, estem parlant de la canalització de programari .
Funció "Penja"
En bash , com en altres intèrprets de text , és possible utilitzar caràcters de redirecció que afegeixin la sortida estàndard de l'ordre al final d'un fitxer en lloc de sobreescriure el seu contingut. Per exemple:
ordre >> nom del fitxer
afegeix ( afegeix en anglès ) l' ordre de sortida al contingut del nom de fitxer del fitxer . Si no existeix, es crearà.
Aquesta funció s'utilitza normalment en scripts d' intèrpret d' ordres per crear fitxers de registre que facin un seguiment de les activitats realitzades.
Funció " Aquí documenta "
En els intèrprets de text dels sistemes Unix i similars a Unix, normalment també hi ha disponible un tipus de redirecció que permet especificar directament text en diverses línies com a entrada estàndard a una ordre. Per exemple:
ordre << marcador línia1 línia2 .. marcador
marcador és una sola paraula arbitrària (normalment EOF
, de " final del fitxer "). Totes les línies de text entre les dues ocurrències de marcador (l'última ocurrència ha d'aparèixer sola en una línia) es proporcionaran a l'entrada estàndard de l' ordre .
Normalment, el text està subjecte a substitucions de variables i ordres típiques dels intèrprets de text, excepte quan el marcador s’especifica entre cometes dobles o simples. Per exemple:
nombre = 42 gat << EOF El número és $ number La data d'avui és "data" EOF
dóna a cat el text entre les dues ocurrències d' EOF
, substituint la variable $numero
pel seu valor i substituint l'expressió `date`
per la sortida de l'ordre date .