4Sep
Када покренете команду на басх промпту, он обично штампа излаз тог команде директно на терминал тако да можете одмах да је прочитате.Али басх такође вам омогућава да "преусмерите" излаз било које команде, чувајући га у текстуалној датотеки како бисте касније могли прегледати излаз.
Ово ради у басх-у на било ком оперативном систему, од Линука и МацОС-а до Виндовс 10-јевог басх окружења базираног на Убунту.
Опција један: Преусмери излаз на само датотеку
Да бисте користили преусмеравање басх-а, покренете команду, одредите & гт;или> гт;оператера, а затим обезбедите путању датотеке којој желите да се излаз преусмери на.
- & гт;преусмерава излаз команде у датотеку, замењујући постојећи садржај датотеке.
- & гт; & гт;преусмерава излаз команде у датотеку, додајући излаз на постојећи садржај датотеке.
Технички, ово преусмерава "стдоут" - стандардни излаз, који је екран - у датотеку.
Ево једноставног примера.Команда лс наводи датотеке и фасцикле у тренутном директоријуму.Тако.када покренете следећу наредбу, лс ће листирати датотеке и фасцикле у тренутном директоријуму.Али их неће штампати на екрану - чуће их у датотеци коју наведете.
лс & гт;/path/to/ датотекаНе морате навести путању до постојеће датотеке.Наведите било који важећи пут и басх ће створити датотеку на тој локацији.
Ако прегледате садржај датотеке, видећете излаз лс команде.На пример, команда мачка штампа садржај датотеке на терминал:
мачка /path/to/ датотекаЗапамтите, & гт;оператер замењује постојећи садржај датотеке са излазом команде.Ако желите да сачувате излаз више команди у једну датотеку, користили бисте> гт; & гт;уместо оператора.На пример, следећа наредба ће додати информације о систему датој датотеци коју сте навели:
унаме -а & гт; & гт;/path/to/ датотекаАко датотека још увек не постоји, басх ће креирати датотеку.У супротном, басх ће оставити постојећи садржај датотеке и додати излаз на крај датотеке.
Када прегледате садржај датотеке, видећете да су резултати ваше друге команде додани на крај датотеке:
Овај процес можете поновити онолико пута колико желите да задржите излазни излаз на крајфиле.
Опција два: Излаз за штампу Нормално и преусмерите је на датотеку
Можда не желите да преусмеравате излаз с & гт;или> гт;оператера, јер нећете видети излаз команде у терминалу.За то је команда тее.Команда тее штампа улаз који прима на екран и га истовремено чува у датотеци.
Да бисте изашли излаз команде на тее, исписали га на екран и сачували га у датотеку, користите следећу синтаксу:
наредба |тее /path/to/ датотекаОво ће заменити било шта у датотеци са излазом команде, баш као и>оператор.
Да бисте изашли излаз команде на тее, штампали на свој екран и сачували га у датотеку, али додали га на крај датотеке:
наредба |тее -а /path/to/ датотекаОво ће додати излаз на крај датотеке, баш као & гт; & гт;оператор.
Басх схелл укључује неке додатне, напредне оператере који обављају сличне функције.Они ће бити посебно корисни ако пишете басх скрипте.Консултујте поглавље И / О преусмеравања у Адванцед Басх-Сцриптинг Гуиде за детаљније информације.