Leggere e scrivere i file è uno dei compiti comuni durante la scrittura di script bash. Ad esempio, salvare l'output di un comando in un file o semplicemente manipolare i file in bash vengono utilizzati diversi comandi. Esistono diversi modi di scrivere qualsiasi file in Bash tramite Terminal e se stai trovando il modo di scrivere qualsiasi file durante lo scripting, leggi questa guida.
File di scrittura in Bash
Come accennato in precedenza, ci sono molti modi di scrivere qualsiasi file mentre Bash Scripting e sotto sono alcuni modi per scrivere un file in Bash:
Utilizzo di operatori direzionali
Esistono generalmente due operatori direzionali che si possono usare per scrivere un file durante gli script bash, uno è una parentesi angolare singola ">" e l'altro è una fascia angolare a doppia angolo ">>". La differenza principale tra i due è quella ">" sovrascrive i dati precedentemente presenti nel file con i nuovi dati, mentre ">> " D'altra parte aggiunge solo i nuovi dati nel file.
Per utilizzare uno qualsiasi degli operatori direzionali di seguito è la rispettiva sintassi che si dovrebbe seguire:
$ eco <“data”>
Ad esempio, per aggiungere dati a qualsiasi file che è vuoto attualmente o per sovrascrivere i dati in qualsiasi file, quindi utilizzare la sintassi sopra menzionata come questa:
$ echo "ciao linuxhint 1"> myfile.TXT
Successivamente, da usare ">>" Operatore direzionale per l'aggiunta di tutti i dati nel file ho usato la sintassi sopra menzionata come questa:
$ echo "ciao linuxhint 2" >> myfile.TXT
Ricorda che la sintassi sopra menzionata non solo scrive il file, ma creerà anche un file se non ce n'è nessuno.
Usando il comando TEE
Un altro modo per scrivere qualsiasi file mentre lo scripting bash è utilizzando il comando TEE e sotto è la sintassi indicata per l'utilizzo di questo comando:
$ echo "dati" | tee
Ad esempio, se voglio aggiungere dati a qualsiasi file, la sintassi sopra menzionata può essere utilizzata in questo modo:
$ echo "Benvenuti a LinuxHint" | tee myfile.TXT
Ricorda che la sintassi sopra utilizzata è benefica non solo per la scrittura dei dati, ma può anche essere utilizzata nel caso in cui qualcuno desidera sovrascrivere i dati attualmente presenti nel file con i nuovi dati.
Quindi, se si desidera conservare i dati correnti e si desidera scrivere il file con un nuovo set di dati, quindi utilizzare -UN Flag con la sintassi data come:
$ echo "saluti" | tee -a myfile.TXT
Se si desidera aggiungere gli stessi dati a più file, questo comando può essere di grande aiuto, il tee Il comando può essere usato per tale scopo come questo:
$ echo "saluti" | tee -a myfile1.txt myfile2.txt myfile3.TXT
Un altro vantaggio dell'utilizzo di questo comando è che si può modificare un file di proprietà degli altri utenti con l'aiuto di utilizzare i privilegi di amministrazione come questo:
$ echo "Questo è un file di test" | sudo tee -a myfile1.TXT
Utilizzo del comando printf
Poiché i modi di sopra menzionati non danno alla libertà all'utente di aggiungere la formattazione ai dati, quindi se si desidera aggiungere una formattazione specifica ai dati, allora printf può essere usato in questo modo:
$ printf “Saluti da Linuxhint \ nThis è un file di test.\ n ">> myfile1.TXT
Usando Heredoc
Un altro modo per scrivere un file in bash è usando il Qui documento Formato, non è un tipo di comando ma è più simile a un formato che si può seguire per scrivere più righe di dati, di seguito è il formato di Heredoc:
gatto << [delimiter]
dati…
[delimitatore]
Qui nella sintassi Cat viene utilizzato per leggere i dati e delimitatore è una sorta di confine per i dati; Potrebbe essere una stringa o un nome file. Nella pratica normale di solito la fine o l'EOF viene utilizzata come delimitatore, ma tutto dipende dalle preferenze dell'utente.
Ad esempio, ho creato un .file sh e ha usato il formato di hedoc come questo:
#! /Bin/Bash
gatto << MYFILE
Saluti da Linuxhint
Questo è un file di test creato usando Heredoc
IL MIO FILE
Ora per vedere se i dati vengono salvati correttamente, consentiamo di eseguire questo file utilizzando:
$ Bash MyBashcript.sh
Conclusione
Scrivere file durante lo script bash in un sistema Linux è un lavoro difficile se non si ha una solida conoscenza dell'uso di comandi Linux. Questa guida fornisce 4 modi per scrivere qualsiasi file durante gli script bash che sono: usando Operatori direzionali, tee comando, printf E hedoc.