Почетна » како да » Како сачувати излаз команде у датотеку у Басху (тзв. Линук и мацОС терминал)

    Како сачувати излаз команде у датотеку у Басху (тзв. Линук и мацОС терминал)

    Када покренете команду у басх промпту, он нормално исписује излаз те команде директно терминалу тако да га можете одмах прочитати. Али басх вам такође дозвољава да "преусмерите" излаз било које команде, сачувате га у текстуалну датотеку тако да касније можете прегледати излаз касније.

    Ово ради у басх-у на било којем оперативном систему, од Линука и МацОС-а до Виндовс 10-ове Убунту базиране околине.

    Опција 1: Преусмерите излаз само у датотеку

    Да бисте користили преусмеравање басха, покренули сте команду, одредите > или >> оператор, а затим унесите путању до датотеке на коју желите да се преусмери излаз.

    •  > преусмерава излаз команде у датотеку, замењујући постојећи садржај датотеке.
    •  >> преусмерава излаз команде у датотеку, додајући излаз постојећем садржају датотеке.

    Технички, то преусмјерава "стдоут" - стандардни излаз, који је екран-у датотеку.

    Ево једноставног примера. Тхе лс наредба наводи датотеке и мапе у тренутном директорију. Тако. када покренете следећу команду, лс ће приказати датотеке и фасцикле у тренутном директоријуму. Али неће их одштампати на екран - сачуват ће их у датотеку коју наведете.

    лс> / путања / до / фајла

    Не морате да наведете путању до постојеће датотеке. Наведите било коју важећу путању и басх ће креирати датотеку на тој локацији.

    Ако погледате садржај датотеке, видећете лс излаз команде. На пример, цат наредба исписује садржај датотеке у терминал:

    цат / патх / то / фајл

    Запамтите >  Оператор замењује постојећи садржај датотеке излазом команде. Ако желите да сачувате излаз вишеструких команди у једну датотеку, употребили бисте >> уместо тога. На пример, следећа команда ће додати информације о систему у датотеку коју наведете:

    унаме -а >> / путања / до / фајла

    Ако датотека већ не постоји, басх ће креирати датотеку. У супротном, басх ће оставити постојећи садржај саме датотеке и додати излаз на крај датотеке.

    Када погледате садржај датотеке, видећете да су резултати ваше друге команде додани на крај датотеке:

    Овај процес можете поновити онолико пута колико желите да наставите излаз на крај датотеке.

    Друга опција: Исписивање нормално и преусмеравање у датотеку

    Можда не желите да преусмеравате излаз са > или >> оператерима, јер нећете видети излаз команде у терминалу. То је оно што тее цомманд ис фор. Команда Тее штампа улаз који прима на екран и истовремено сачува у датотеку.

    Да извучемо излаз команде тее, да га одштампате на екрану и сачувате у датотеку, користите следећу синтаксу:

    цомманд | Тее / патх / то / фајл

    Ово ће заменити све што је у датотеци са излазом команде, баш као и > оператор.

    Да извучемо излаз команде тее , штампање на екран и чување у датотеци, али додавање на крај датотеке:

    цомманд | тее -а / патх / то / филе

    Ово ће додати излаз на крај датотеке, баш као и >> оператор.

    Басх схелл укључује неке додатне, напредне операторе који обављају сличне функције. Они ће бити посебно корисни ако пишете басх скрипте. За детаљније информације погледајте поглавље И / О Редирецтион у Адванцед Басх-Сцриптинг Гуиде.