Постоји више начина за читање и писање датотеке на басх-у. Најједноставнији начин је коришћење оператора „>“ и „>>“.
- Оператор „>“ ће преписати постојеће податке
- Оператор „>>“ ће додати податке
Општи формат коришћења оператора преусмеравања је:
Подаци> Име датотекеПодаци >> Име датотеке
Да разумемо поступак уписивања у датотеку на примеру:
Како написати датотеку помоћу оператора преусмеравања
Као што је горе речено, једноставан и непосредан приступ писању у датотеку је коришћење оператора преусмеравања. На пример, ако желите да промените текст већ постојеће датотеке, прво створите текстуалну датотеку под именом „тестфиле.ткт“И у њега напишите било шта:
Сачувајте текстуалну датотеку.
Унесите доле наведену команду у терминал:
$ ецхо „Преписивање постојећег текста у датотеци“> тестфиле.ткт
Прекомерно савијање може бити ризично; стога је добра пракса омогућити „ноцлоббер“. Постављањем „ноцлоббер“ блокираће се било који преписивање у било коју излазну датотеку.
$ сет -о ноцлоббер$ ецхо „Преписивање постојећег текста у датотеци“> тестфиле.ткт
Али ако желите да заобиђете „ноцлоббер“, користите „> |”Оператер уместо„>”:
$ ецхо „Преписивање постојећег текста у датотеци“> | тестфиле.тктИли једноставно можете онемогућити „ноцлоббер“:
$ сет + о ноцлоббер
Али ова наредба ће одузети заштиту свим датотекама.
Горњи излаз показује да је постојећи текст преписан. Сада, употребимо „>>”Оператор:
$ ецхо „Додавање текста у постојећу текстуалну датотеку“ >> тестфиле.ткт
„одјек"Није увек идеално за употребу, јер не можете форматирати текст помоћу њега, зато користите" принтф "на месту" ецхо "да бисте форматирали текст као што је показано у следећој наредби:
$ принтф „Добродошли \ н Ово је нова текстуална датотека.”> Невтестфиле.ткт
Хајде да разумемо концепт на примеру басх скрипте. Отворите Вим тако што ћете на терминалу откуцати „вим“. Ако на уређају немате Вим едитор, инсталирајте га помоћу:
$ судо апт инсталл вимОткуцајте скрипту:
#! / бин / басхехо „Унесите своје име“
прочитајте име
ецхо $ наме> дата_дир.ткт
ехо „Унесите своје године“
прочитана старост
ецхо $ аге >> дата_дир.ткт
мачка дата_дир.ткт
„мачкаНаредба ”користи се за креирање и уређивање датотека. Сачувајте горњу скрипту у Вим тако што ћете пребацити режим након притиска тастера „изаћиТастер, а затим откуцајте „: в мисцрипт.сх”. Отворите терминал и покрените код:
Како написати датотеку користећи Хередоц
Ако желите да напишете више редова, онда је најлакши метод коришћење „Хередоц“. Овде је документ, познат и као „Хередоц“, вишенаменски кодни блок. Синтакса Хередоца је:
Команда <<[-] Delimiter.
текст / наредбе
.
Делимитер
Било који низ може да се користи уместо „Разграничења“, а „-“ такође може да се користи за уклањање било којег простора табулатора у датотеци. Хајде да то разумемо на једноставном примеру:
#! / бин / басхмачка << TEXTFILE
Ово је текстуална датотека.
Ова датотека је креирана помоћу хередоц-а.
ТЕКСТИЛ
Горња наредба „мачка“ скрипте креира текстуалну датотеку под именом „ТЕКСТФИЛЕ“ и уписује текст у управо креирану датотеку. Сада сачувајте датотеку под именом „мисцрипт.сх”. Покрените терминал и покрените скрипту.
Како написати датотеку помоћу команде Тее
Друга метода за писање датотеке је употреба команде „Тее“. Као име које означава ову наредбу узима улаз и пише у датотеку и истовремено приказује излаз. Подразумевано ће наредба „Тее“ пребрисати постојеће податке.
$ ецхо „Ово је неки текст“ | тее тектфиле.ткт
Да бисте додали употребу -а:
$ ецхо „Ово је други текст“ | тее - текстуална датотека.ткт
Да бисте написали више линија, користите:
$ ецхо „Додавање текста у више датотека“ | тее тектфиле1.ткт тектфиле2.ткт тектфиле3.ткт
Горња команда ће створити три датотеке ако не постоје и написати текст у сваку од њих.
Закључак
Овај водич се фокусира на више приступа писању у датотеку у басх са примерима. У басх скрипти постоји више начина за писање датотеке, али најједноставнији је коришћење оператора преусмеравања „>“, „>>“. За писање више редова може се користити „хередоц“, а ако желите исте податке уписати у више редова, тада је наредба „тее“ врло згодна.