Hogyan kell írni egy fájlba a Bash -ban

How Write File Bash



A bash szkripteléssel végzett egyik alapvető feladatunk a fájlok olvasása és írása. Ebben az útmutatóban a bash fájlok olvasására és szerkesztésére összpontosítunk.

A bash -ban többféleképpen olvashat és írhat egy fájlt. A legegyszerűbb módja a> és >> operátorok használata.







  • > az operátor felülírja a meglévő adatokat
  • >> az üzemeltető adatokat fűz hozzá

Az átirányítási operátorok általános formátuma a következő:



Adatok> Fájlnév
Adatok >> Fájlnév

Értsük meg egy fájl eljárásának írását egy példával:



Fájl írása az átirányítási operátorok használatával

Amint azt fentebb tárgyaltuk, a fájlba írás egyszerű és egyszerű megközelítése az átirányítási operátorok használata. Például, ha egy már létező fájl szövegét szeretné megváltoztatni, akkor először hozzon létre egy szövegfájlt a testfile.txt és írj bele bármit:





Mentse el a szövegfájlt.



Írja be az alábbi parancsot a terminálba:

$ echo A meglévő szöveg felülírása a fájlban> testfile.txt

A túlcsavarás kockázatos lehet; ezért helyes gyakorlat a noclobber engedélyezése. A noclobber beállítása blokkolja a kilépő fájlok felülírását.

$ set –o noclobber
$ echo A meglévő szöveg felülírása a fájlban> testfile.txt

De ha meg akarja kerülni a noclobbert, akkor használja a > | operátor helyett > :

$ echo A meglévő szöveg felülírása a fájlban> | testfile.txt

Vagy egyszerűen letilthatja a noclobbert:

$ set + vagy noclobber

De ez a parancs elveszi az összes fájl védelmét.

A fenti kimenet azt jelzi, hogy a meglévő szöveg felül lett írva. Most használjuk a >> operátor:

$ echo Szöveg hozzáfűzése a meglévő szövegfájlhoz >> testfile.txt

kidobta nem mindig ideális a használatához, mivel ezzel nem lehet szöveget formázni, ezért használja a printf parancsot az echo helyett a szöveg formázásához a következő parancs szerint:

$ printf Üdvözöljük n Ez egy új szövegfájl. > newtestfile.txt

Értsük meg a fogalmat egy bash script példával. A Vim megnyitásához írja be a vim parancsot a terminálba. Ha nincs Vim szerkesztő az eszközön, telepítse a következővel:

$ sudo apt install vim

Írja be a szkriptet:

#! /bin/bash
echo Írja be a nevét
nevet olvasni
echo $ name> data_dir.txt
echo Adja meg életkorát
kor olvassa
echo $ age >> data_dir.txt
cat data_dir.txt

Az macska parancs a fájlok létrehozására és szerkesztésére szolgál. Mentse a fenti szkriptet a Vim -be, ha a gomb megnyomása után módot vált Kilépés gombot, majd írja be : a myscript.sh -ban . Nyissa meg a terminált, és futtassa a kódot:

Fájl írása a Heredoc használatával

Ha több sort szeretne írni, akkor a legegyszerűbb módszer a Heredoc használata. Itt a dokumentum, más néven Heredoc, egy többcélú kódblokk. A Heredoc szintaxisa a következő:

Parancs<<[-] Delimiter
.
szöveg/parancsok
.

Elhatároló

Bármilyen karakterlánc használható a elválasztó helyén, és - a fájl bármelyik tabulátor szóközének eltávolítására is használható. Értsük meg egy egyszerű példával:

#! /bin/bash

macska<< TEXTFILE
Ez egy szöveges fájl.
Ez a fájl a heredoc használatával készült.
SZÖVEGES FÁJL

A fenti script cat parancs szöveges fájlt hoz létre a TEXTFILE nevével, és szöveget ír be a most létrehozott fájlba. Most mentse el a fájlt myscript.sh . Indítsa el a terminált, és futtassa a szkriptet.

Fájl írása a Tee paranccsal

Egy másik módszer a fájl írására a Tee parancs használata. Névként ez a parancs bemenetet ír és fájlba ír, és egyidejűleg megjeleníti a kimenetet. Alapértelmezés szerint a Tee parancs felülírja a meglévő adatokat.

$ echo Ez egy szöveg | tee textfile.txt

A használat hozzáfűzéséhez –a:

$ echo Ez egy másik szöveg | tee –a textfile.txt

Több sor írásához használja:

$ echo Szöveg hozzáadása több fájlhoz | tee textfile1.txt textfile2.txt textfile3.txt

A fenti parancs három fájlt hoz létre, ha nem léteznek, és szöveget ír mindegyikhez.

Következtetés

Ez az útmutató többféle megközelítésre összpontosít, amelyekben példák segítségével bash fájlba írhat. A bash szkriptekben többféleképpen írhatunk egy fájlt, de a legegyszerűbb az átirányítási operátorok>, >> használata. Több sor írásához a heredoc használható, és ha ugyanazokat az adatokat több sorba szeretné írni, akkor a tee parancs nagyon praktikus.