4Sep
Kui käivitate käsku bash-kiirelt, trükib see tavaliselt selle käsu väljund otse terminali, nii et saate seda kohe lugeda. Kuid ka bash võimaldab teil "suunata" iga käsu väljundit, salvestades selle tekstifaili, nii et saate hiljem väljundit vaadata.
See töötab mis tahes operatsioonisüsteemis, Linuxist ja macOSist kuni Windows 10 Ubuntu baasil baseeruvasse keskkonda.
variant 1: suunamine väljundisse ainult failina
Basši ümbersuunamiseks kasutada käsku, määrake & gt;või>operaator ja seejärel esitage faili fail, mida soovite, et väljund suunataks.
- & gt;redirects käsu väljund failile, asendades faili olemasoleva sisu.
- & gt;redirects käsu väljund failile, lisades faili olemasolevale sisule väljundi.
Tehnikaülekandega redigeerib see "stdout" - standardväljund, mis on faili ekraanil.
Siin on lihtne näide. Käsk ls näitab käimasolevas kataloogis olevaid faile ja kaustu. Niikäivitades järgmise käskluse, loeb käsk katalooge failid ja kaustad. Kuid see ei prindi neid ekraanile - see salvestab need teie määratud faili.
ls>/path/to/ failTe ei pea olemasolevale failile tee määrama. Määrake mis tahes kehtiv tee ja bash loob faili selles asukohas.
Kui vaatate faili sisu, näete ls käsu väljundit. Näiteks kassi käsk prindib faili sisu terminalile:
kass /path/to/ failPidage meeles, et & gt;käitaja asendab faili olemasolevat sisu käsu väljundiga. Kui soovite salvestada mitme käsu väljundi ühte faili, kasutage & gt; & gt;operaator. Näiteks lisab teie käsutatavale failile süsteemiteave järgmine käsk:
uname -a & gt; & gt;/path/to/ failKui faili pole veel olemas, bash loob faili. Muidu bash jätab faili olemasoleva sisu ja lisab faili lõppu väljundi.
Kui vaatate faili sisu, näete teise käsu tulemusi faili lõpus:
Seda protsessi saab korrata nii mitu korda kui soovid jätkata väljundi lisamistfaili
2. valik: tavaline trükkimine ja faili
ümbersuunamine Te ei pruugi soovida redigeerida väljundit & gt;või>operaatorid, kuna te ei näe käskluse väljundit terminalis. See ongi tee käsu jaoks. Teekäsk printab ekraanil saadud sisendi ja salvestab selle üheaegselt faili.
Selleks, et suunata käsu väljundit teele, trükkides selle ekraanile ja salvestades faili, kasutage järgmist süntaksit:
käsk |tee /path/to/ failSee asendab kõik failis käsu väljundiga, nagu ka & gt;operaator.
Selleks, et juhtida käsku väljundit tee, printida oma ekraanile ja salvestada see faili, aga lisades selle faili lõppu:
käsk |tee -a /path/to/ failSee lisab väljundi faili lõpuni, nagu ka & gt; & gt;operaator.
bashikell sisaldab mõnda täiendavat, arenenud operaatorit, mis täidavad sarnaseid funktsioone. Need on eriti kasulikud, kui kirjutad basskirju.Üksikasjalikuma teabe saamiseks külastage täiendava bash-skriptimise juhendi peatükki I / O redirection.