Просто додати кілька балів до чудової відповіді від @Wilf,
ви можете запускати команди в паралелі, якщо ви хочете з будь-якої причини, наприклад, autostartсценарій для OpenBox може виглядати так:
#!/bin/bash
nitrogen --restore &
tint2 &
tilda
Це дозволить встановити фонове зображення за допомогою nitrogen, запустити панель tint2і запустити панель, що випадає в стилі Quake3 tilda, і все одночасно. Це корисно, якщо вам не потрібна програма для завершення перед запуском наступної. Не так apt-get updateі apt-get upgradeхоча!
Помітьте &знак в кінці кожного рядка. Це призведе до того, що оболонка відкине цей процес на другий план і продовжить виконання. Зверніть увагу, наскільки воно відрізняється від &&, що в основному є andзнаком, command_1 && command_2буде виконуватися, command_1і якщо воно закінчиться успішно, лише тоді запустіть command_2, тоді як command_1 & command_2почнеться другий відразу після першого.
Крім того, ви можете просто складати команди, щоб вони виконувалися послідовно, як-от так:
#!/bin/bash
apt-get update
apt-get upgrade
Це буде працювати apt-get upgradeпісля того, як apt-get updateбуде закінчено , але незалежно від результату. Тож навіть якщо, наприклад, оновлення припиняється з мережевою помилкою, оновлення все одно буде запущено.
Ви також можете зробити це в одному рядку, використовуючи ;знак: apt-get update ; apt-get upgrade. Знову ж таки, це рішення не є оптимальним для цих конкретних команд, але може стати в нагоді в інших ситуаціях.
Один швидкий кінцевий момент, ви також можете перервати рядки, що містять &&такі:
command_1 &&
command_2
Це буде те саме, що command_1 && command_2.