Домашня » як » Як запустити дві або більше команд терміналу в раз в Linux

    Як запустити дві або більше команд терміналу в раз в Linux

    Якщо ви використовуєте Linux, ви знаєте, наскільки корисним може бути командний рядок для роботи з файлами, встановлення програмного забезпечення та запуску програм. Але це може бути ще більш ефективним, якщо виконувати кілька команд одночасно.

    Об'єднуючи дві або більше команд у командному рядку, також називають «командним ланцюгом». Ми покажемо вам різні способи комбінування команд у командному рядку.

    Варіант 1: Оператор з комою (;)

    Оператор з комою (;) дозволяє виконувати безліч команд поспіль, незалежно від того, чи успішно виконується кожна попередня команда. Наприклад, відкрийте вікно Терміналу (Ctrl + Alt + T у Ubuntu та Linux Mint). Потім введіть наступні три команди на один рядок, розділені крапкою з комою, і натисніть клавішу Enter. Це надасть вам список поточного каталогу ( ls ), дізнайтеся, у якому каталозі ви зараз перебуваєте ( pwd ) і відобразити своє ім’я для входу ( хто я ) відразу.

    ls; pwd; хто я

    Не потрібно розміщувати пробіли між комою та командами. Можна ввести три команди як ls; pwd; . Проте пробіли роблять комбіновані команди більш читабельними, що особливо корисно, якщо ви покладете комбіновані команди на скрипт оболонки.

    Варіант 2: Логічний оператор І (&&)

    Якщо ви хочете, щоб друга команда виконувалася тільки, якщо перша команда успішна, поділіть команди на логічний оператор AND, що є двома амперсандами ( && ). Наприклад, ми хочемо створити каталог з назвою MyFolder, а потім змінити на цей каталог, якщо він був успішно створений. Отже, вводимо наступне в командному рядку і натискаємо Enter.

    mkdir MyFolder && cd MyFolder

    Папку було успішно створено, тому cd команда була виконана, і ми зараз знаходимося в новій папці.

    Ми рекомендуємо використовувати логічний оператор AND, а не оператор з крапкою з комою, більшу частину часу (;). Це гарантує, що ви не робите нічого згубного. Наприклад, якщо ви виконуєте команду для переходу до каталогу, а потім змушуєте рекурсивно видалити все в цьому каталозі ( cd / some_directory; rm -Rf * ), ви можете в кінцевому підсумку зіпсувати вашу систему, якщо зміна каталогу не відбулося. Не те, що ми рекомендуємо вам запустити команду для безумовного видалення всіх файлів у каталозі одночасно.

    Варіант три: Логічний оператор АБО (||)

    Іноді вам може знадобитися виконати другу команду, лише якщо виконує перша команда ні досягати успіху. Для цього ми використовуємо оператор логічного оператора OR або дві вертикальні смуги ( || ). Наприклад, ми хочемо перевірити, чи існує каталог MyFolder ( [-d ~ / MyFolder] ) і створити його, якщо це не відбудеться ( mkdir ~ / MyFolder ). Отже, ми надрукуємо наступну команду і натискаємо Enter.

    [-d ~ / MyFolder] || mkdir ~ / MyFolder

    Переконайтеся, що після першої дужки та перед другою дужкою або першої команди існує пробіл, який перевіряє, чи існує каталог, не працюватиме.

    У нашому прикладі каталог MyFolder не існує, тому друга команда створює каталог.

    Об'єднання декількох операторів

    Також можна комбінувати кілька операторів у командному рядку. Наприклад, ми хочемо спочатку перевірити, чи існує файл ( [-f ~ / sample.txt] ). Якщо це так, ми надрукуємо повідомлення на екрані, echo "Файл існує". ). Якщо ні, ми створюємо файл ( натисніть ~ / sample.txt ). Отже, введіть наступне у командному рядку і натисніть Enter.

    [-f ~ / sample.txt] && echo "Файл існує." || натисніть ~ / sample.txt

    У нашому прикладі файл не існував, тому він був створений.

    Нижче наведено корисний підсумок кожного з операторів, які використовуються для комбінування команд:

    •  A; B  - Запустіть A, а потім B, незалежно від успіху або невдачі A
    •  & & B  - Запустіть B, лише якщо A виконано
    •  A || B  - Запустіть B, лише якщо A не вдалося

    Всі ці способи комбінування команд можна також використовувати в сценаріях оболонки як на Linux, так і на Windows 10.

    Ви також можете автоматично виправляти орфографічні помилки під час використання "cd" в командному рядку в Linux, щоб уникнути різких наслідків під час комбінування команд.