Yra keli būdai, kaip skaityti ir rašyti failą „bash“. Paprasčiausias būdas yra naudoti operatorius „>“ ir „>>“.
- Operatorius „>“ perrašys esamus duomenis
- Operatorius „>>“ pridės duomenis
Bendras peradresavimo operatorių naudojimo formatas yra:
Duomenys> Failo pavadinimasDuomenys >> Failo pavadinimas
Supraskime rašymo faile procedūrą su pavyzdžiu:
Kaip parašyti failą naudojant peradresavimo operatorius
Kaip aptarta aukščiau, paprastas ir paprastas būdas rašyti į failą yra nukreipimo operatorių naudojimas. Pvz., Jei norite pakeisti jau esančio failo tekstą, pirmiausia sukurkite tekstinį failą pavadinimu „testfile.txt“Ir parašykite jame bet ką:
Išsaugokite teksto failą.
Terminale įveskite žemiau nurodytą komandą:
$ echo „Esamo failo teksto perrašymas“> testfile.txt
Per didelis išlenkimas gali būti rizikingas; todėl gera praktika įgalinti „noklobiką“. Nustačius „nokloberis“, bus užblokuotas bet kurio išeinančio failo perrašymas.
$ set -o nokloberis$ echo „Esamo failo teksto perrašymas“> testfile.txt
Bet jei norite apeiti „noklobiką“, tada naudokite> |Operatorius vietoj „>“:
$ echo „Esamo failo teksto perrašymas“> | testfile.txtArba galite tiesiog išjungti „noklobiką“:
$ set + o nokloberis
Bet ši komanda atims visų failų apsaugą.
Pirmiau pateiktas išvestis rodo, kad esamas tekstas buvo perrašytas. Dabar naudokime>>" operatorius:
$ echo „Teksto pridėjimas prie esamo teksto failo“ >> testfile.txt
„aidas„Ne visada yra idealu naudoti, nes juo negalima formatuoti teksto, todėl„ aido “vietoje tekstui formatuoti naudokite„ printf “, kaip parodyta šioje komandoje:
$ printf „Sveiki atvykę \ n Tai naujas tekstinis failas.”> Newtestfile.txt
Supraskime sąvoką su „bash“ scenarijaus pavyzdžiu. Atidarykite „Vim“ įvesdami terminale „vim“. Jei įrenginyje neturite „Vim“ redaktoriaus, įdiekite jį naudodami:
$ sudo apt install vimĮveskite scenarijų:
#! / bin / bashaidas „Įveskite savo vardą“
skaityti vardą
echo $ name> duomenų_dir.txt
aidas „Įveskite savo amžių“
skaitymo amžius
echo $ age >> duomenų_dir.txt
katės duomenų_dir.txt
„katė”Komanda naudojama failams kurti ir redaguoti. Išsaugokite aukščiau pateiktą scenarijų „Vim“, perjungdami režimą paspausdami „EscKlavišą ir įveskite „: w myscript.sh“. Atidarykite terminalą ir paleiskite kodą:
Kaip parašyti failą naudojant „Heredoc“
Jei norite parašyti kelias eilutes, paprasčiausias būdas yra „Heredoc“ naudojimas. Čia dokumentas, dar vadinamas „Heredoc“, yra daugiafunkcinis kodų blokas. Heredoc sintaksė yra tokia:
Komanda <<[-] Delimiter.
tekstas / komandos
.
Apribotojas
Bet kuri eilutė gali būti naudojama „Atribotuvo“ vietoje, o „-“ taip pat gali būti naudojama norint pašalinti visas skirtuko vietas faile. Supraskime tai naudodami paprastą pavyzdį:
#! / bin / bashkatė << TEXTFILE
Tai yra tekstinis failas.
Šis failas sukurtas naudojant „heredoc“.
TEKSTILĖ
Minėta scenarijaus „cat“ komanda sukuria teksto failą pavadinimu „TEXTFILE“ ir įrašo tekstą į ką tik sukurtą failą. Dabar išsaugokite failą pavadinimu „scenarijus.sh“. Paleiskite terminalą ir paleiskite scenarijų.
Kaip parašyti failą naudojant „Tee“ komandą
Kitas failo rašymo būdas yra komandos „Tee“ naudojimas. Kaip vardas, nurodantis šią komandą, įveda ir rašo į failą ir tuo pačiu metu rodo išvestį. Pagal numatytuosius nustatymus komanda „Tee“ perrašys esamus duomenis.
$ echo „Tai yra tekstas“ | tee teksto failas.txt
Norėdami pridėti naudokite -a:
$ echo „Tai dar vienas tekstas“ | tee -a teksto failas.txt
Norėdami parašyti kelias eilutes, naudokite:
$ echo „Teksto pridėjimas prie kelių failų“ | tee tekstas failas.txt textfile2.txt textfile3.txt
Pirmiau nurodyta komanda sukurs tris failus, jei jų nėra, ir parašys tekstą kiekvienam iš jų.
Išvada
Šiame vadove daugiausia dėmesio skiriama keliems būdams rašyti į failą „bash“ su pavyzdžiais. „Bash“ scenarijuose yra keli būdai, kaip parašyti failą, tačiau paprasčiausias yra peradresavimo operatorių „>“, „>>“ naudojimas. Norėdami rašyti kelias eilutes, galima naudoti „heredoc“, o jei norite tuos pačius duomenis rašyti keliose eilutėse, komanda „tee“ yra gana patogu.