Почетна » како да » Како да покренете две или више терминалних команди на једном у Линуку

    Како да покренете две или више терминалних команди на једном у Линуку

    Ако користите Линук, знате колико је корисна командна линија за рад са датотекама, инсталирање софтвера и покретање програма. Али то може бити још ефикасније ако покренете више команди одједном.

    Комбиновањем две или више команди у командној линији је такође познато као "командно везивање". Показаћемо вам различите начине на које можете комбиновати команде у командној линији.

    Опција 1: Оператор са зарезом (;)

    Оператор тачка-зарез (;) вам омогућава да извршите више наредби у низу, без обзира да ли свака претходна команда успе. На пример, отворите прозор Терминала (Цтрл + Алт + Т у Убунту и Линук Минт). Затим укуцајте следеће три команде у једном реду, раздвојене тачка-зарезом, и притисните Ентер. Ово ће вам дати листу тренутног директоријума ( лс ), сазнајте који директоријум тренутно користите ( пвд ) и прикажите своје корисничко име ( ко сам ја ) све одједном.

    лс; пвд; ко сам ја

    Не морате да стављате размаке између тачака-зареза и команди. Можете да унесете три команде као лс; пвд; вхоами . Међутим, простори чине комбиновану команду лакшом за читање, што је посебно корисно ако комбинирану команду стављате у схелл скрипту.

    Друга опција: Логички И Оператор (&&)

    Ако желите да се друга наредба покрене само ако је прва наредба успјешна, раздвојите наредбе с логичким АНД оператором, што је два знака ( && ). На пример, желимо да направимо директоријум који се зове МиФолдер, а затим да се промени у тај директоријум - под условом да је успешно креиран. Дакле, откуцамо следеће у командној линији и притиснемо Ентер.

    мкдир МиФолдер && цд МиФолдер

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

    Већину времена препоручујемо коришћење логичког АНД оператора, а не оператора тачке са зарезом (;). Ово осигурава да не радите ништа погубно. На пример, ако покренете команду за промену у директоријум, а затим присилно уклоните све у том директоријуму рекурзивно ( цд / соме_дирецтори; рм -Рф * ), могли бисте на крају уништити ваш систем ако се не деси промјена директорија. Не да вам препоручујемо да покренете команду да безусловно уклоните све датотеке у директоријуму одједном.

    Трећа опција: логички оператер операције (или ||)

    Понекад ћете можда желети да извршите другу наредбу само ако прва наредба ради не успети. Да бисмо то урадили, користимо логички оператер ОР или две вертикалне траке ( || ). На пример, желимо да проверимо да ли постоји директоријум МиФолдер ( [-д ~ / МиФолдер] ) и креирајте га ако не мкдир ~ / МиФолдер ). Дакле, откуцамо следећу команду на промпту и притиснемо Ентер.

    [-д ~ / МиФолдер] || мкдир ~ / МиФолдер

    Будите сигурни да постоји простор иза прве заграде и пре друге заграде или прве команде која проверава да ли директоријум постоји, неће функционисати.

    У нашем примеру, директоријум МиФолдер не постоји, тако да друга команда креира директоријум.

    Комбиновање више оператора

    Можете комбиновати више оператора у командној линији. На пример, прво желимо да проверимо да ли датотека постоји ( [-ф ~ / сампле.ткт] ). Ако се то деси, штампаћемо поруку на екран и тако рећи ецхо "Датотека постоји." ). Ако не, ми креирамо датотеку ( додирните ~ / сампле.ткт ). Дакле, откуцамо следеће у командној линији и притиснемо Ентер.

    [-ф ~ / сампле.ткт] && ецхо "Датотека постоји." || додирните ~ / сампле.ткт

    У нашем примеру, датотека није постојала, тако да је креирана.

    Ево корисног резимеа сваког оператора који се користи за комбиновање команди:

    •  А; Б  - Рун А и Б, без обзира на успех или неуспех А
    •  А && Б  - Покрените Б само ако је А успио
    •  А || Б  - Покрените Б само ако А није успела

    Све ове методе комбиновања команди могу се користити иу схелл скриптама на Линуку и Виндовсу 10.

    Такође можете аутоматски исправити правопис и грешке приликом коришћења "цд" у командној линији у Линуку да бисте избегли драстичне последице када комбинујете команде.