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