GNU/Linux >> Linux Esercitazione >  >> Linux

Scripting Bash:come scrivere dati su file di testo

Lavorare con gli script di shell è sempre stato interessante per i programmatori e gli amministratori di sistema perché l'output aiuta entrambi con il debug e il monitoraggio. La configurazione della maggior parte delle distribuzioni Linux è in gran parte basata su file, quindi è importante comprendere il concetto di scrivere dati in un file di testo utilizzando uno script o reindirizzando l'output dalla riga di comando.

Linux utilizza tre flussi di dati principali durante la comunicazione con l'utente e il computer:

  1. stdin (ingresso STandard)
  2. uscita standard (uscita STandard)
  3. stderr (ERRORE STandard)

1. stdin

Questo è il flusso di dati per l'immissione di informazioni. Qualsiasi input da qualsiasi dispositivo come una tastiera o un mouse rientra nel flusso di dati di input standard. stdin è rappresentato da 0 ID flusso.

[ Potresti anche divertirti a leggere: Cinque modi per utilizzare gli operatori di reindirizzamento in bash ]

2. normale

Questo è il flusso di dati per l'output dei dati. L'output dei dispositivi (come monitor, altoparlanti, ecc.) rientra nel flusso di dati di output standard. Stdout è rappresentato da 1 ID flusso.

3. stderr

L'errore standard viene utilizzato per gestire eventuali errori prodotti dai comandi. Qualsiasi flusso di dispositivi (come monitor, altoparlanti, ecc.) che avverte l'utente che qualcosa è andato storto rientra in stderr. stderr è rappresentato da 2 ID flusso.

Come scrivi i dati su un file?

Utilizza gli operatori di reindirizzamento per recuperare i dati dai flussi stdout e stderr e reindirizzarli a un file di testo.

Reindirizzamento :Il reindirizzamento è una funzionalità Linux utilizzata per modificare i dispositivi di input/output durante l'esecuzione di un comando.

Reindirizzamento output/errore

Per scrivere dati in un file di testo da uno script Bash, utilizza il reindirizzamento di output/errore con > e >>  operatori di reindirizzamento.

> Sovrascrive i dati in un file di testo.

>> Aggiunge i dati a un file di testo.

Creazione di uno script di base e comprensione del reindirizzamento

date >> test1.txt
who >> test1.txt

date > test2.txt
who > test2.txt

Qui l'output di entrambi i comandi verrà aggiunto a test1.txt mentre test2.txt conterrà solo l'output di who comando.

Lavorare ulteriormente con il reindirizzamento

Lo script precedente reindirizzerà solo l'output e fallirà in caso di errore. Per lavorare con il reindirizzamento per output, errore o entrambi, devi specificare i parametri aggiuntivi.

Per reindirizzare l'output:> o >> o 1> o 1>>

Per l'errore di reindirizzamento:2> o 2>>

Per reindirizzare entrambi:&> o &>>

Errori di reindirizzamento

date --who 2>> test1.txt
who 2>> test1.txt

Per reindirizzare solo gli errori, hai specificato il parametro specifico per l'errore. Il file di output conterrà solo l'output del primo comando perché ha un argomento errato.

Altri argomenti possono essere utilizzati in modo intercambiabile per ottenere funzionalità diverse.

La scrittura dello script per altri comandi è la stessa dello script precedente e richiede gli operatori visualizzati sopra.

[ Scarica ora:una guida per l'amministratore di sistema allo scripting Bash. ] 

Concludi

Il reindirizzamento dei dati a stdout o stderr è molto utile sia per gli sviluppatori che per gli amministratori di sistema. La comprensione di questi strumenti e dei relativi risultati ti aiuterà a creare nuovi file, risolvere i problemi e raccogliere informazioni sul sistema.


Linux
  1. Come scrivere un ciclo in Bash

  2. Come utilizzare il comando Grep per trovare testo nei file

  3. Come eseguo l'output di testo colorato su un terminale Linux?

  4. Come gzippare tutti i file in tutte le sottodirectory in bash

  5. Come posso fare in modo che tcpdump scriva su file e emetta in output standard i dati appropriati?

Come confrontare e unire file di testo su Linux

Come confrontare e unire file di testo su Linux (parte 2)

Come utilizzare il comando Date negli script Bash in Linux

Scripting Bash:come leggere i dati dai file di testo

Script di shell per principianti - Come scrivere script Bash in Linux

Bash Scripting:come generare e formattare il testo su Linux Shell