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