терминал и оператор убунту

Что делает следующая команда:

COMM1 & COMM2

и чем она отличается от:

COMM1 && COMM2
1
задан 31 December 2013 в 06:58

2 ответа

COMM1 & COMM2

запускает COMM1 в качестве фонового процесса и немедленно выполняет COMM2; тогда как

COMM1 && COMM2

ожидает завершения COMM1 и затем выполняет COMM2 тогда и только тогда, когда COMM1 завершился успешно.

Технически, && является логическим оператором короткого замыкания , который оценивает второе утверждение, только если он не может определить логическое значение объединенного выражения иначе: другими словами, если состояние выхода COMM1 равно истина , тогда необходимо оценить COMM2, но если состояние выхода COMM1 равно ложно , то нет необходимости оценивать COMM2 ] поскольку выражение в целом не может быть правдой.

0
ответ дан 31 December 2013 в 06:58
  • 1
    Ирония - то, что единственная причина, я открыл rc.local, состояла в том, чтобы добавить сценарий, который будет pkill deluge сопровождаемый systemctl start deluged lmao – Toadfish 6 October 2015 в 12:23

при использовании && это означает, что сценарий / команда должны дождаться успешного запуска первого выполнения, прежде чем сможет продолжить выполнение второго сценария / команды. Например,

sudo apt-get update && sudo apt-get -y upgrade

С помощью этой команды это означает, что обновление будет запущено первым, и обновление должно ждать, пока обновление не будет выполнено, прежде чем оно сможет продолжаться.

только только & это означает, что какую бы команду / скрипт вы ни вводили, все они будут выполняться в фоновом режиме и будут действовать независимо друг от друга (мультикоманды / сценарии).

0
ответ дан 31 December 2013 в 06:58

Другие вопросы по тегам:

Похожие вопросы: