Просто додати кілька балів до чудової відповіді від @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
.