Заказ команд, используемых для установки из ppa

Решено !!!

sudo apt-get install normalize-audio

Проблема в том, что зависимость от программного обеспечения нормализации не включена. Если вы установите его вручную, бразеро будет работать нормально.

1
задан 22 April 2015 в 23:25

2 ответа

Если ; был использован, они были бы одинаковыми, но && продолжается только в том случае, если команда до него отправляет код выхода, в котором говорится, что он успешно вышел. Он будет автоматически продолжен, если все будет хорошо, и остановится только на то, чтобы попросить пользователя спросить, хотят ли они добавить PPA и хотите ли они установить пакет. Он также может работать лучше, чем трехстрочный, если все коды выхода, созданные программами, являются точными, так как пользователь может продолжать вводить команды и не заметил, что первый или второй не удалось.

Если вы хотите для продолжения автоматического продолжения:

 sudo add-apt-repository -y example/ppa && sudo apt-get update && sudo apt-get install -y example-program

Если вы хотите использовать его, это прекрасно (просто будьте готовы, чтобы apt-get мог иметь «приятную» привычку уничтожать вещи, если их не использовать разумно, поэтому не используйте нечетные ppa или много вокруг слишком гадости с зависимостями), но если вы хотите задокументировать установку программы, я бы рекомендовал использовать один или два лайнера (без -y), поскольку он позволяет пользователю больше контроля над тем, что происходит, что делает их счастливее и предотвращает неприятные несчастные случаи (и, как говорит @ Zacharee1, легче понять, узнать и запомнить как отдельные строки - новые пользователи могут не понимать, что они могут отделять линии, или могут предположим, что поскольку команда (ы) в одной строке так длинна, что они, очевидно, могут сделать что-то злое)

Некоторые && и т. д. ex amples:

 $ true && echo "this will show output as that thing ← said it exited successfully"
this will show output as that thing ← said it exited successfully
 $ false && echo "this won't"
 $ false || echo "but this will"
but this will
 $ true || echo "weird init?"
 $ true ; echo " ← and this"
and this
 $ false ; echo "doesn't care"
doesn't care
 $ echo $?
0
 $ echo "previous exit code ↑" ; true
previous exit code ↑
 $ echo "previous exit code ↑"
previous exit code ↑
 $ 
4
ответ дан 23 May 2018 в 21:08

Все есть одно и то же. Я думаю, что причина, по которой она обычно указана так, как она есть, состоит в том, что она выглядит лучше и ее легче запомнить, поскольку команды разделены.

2
ответ дан 23 May 2018 в 21:08
  • 1
    Я заметил это сразу после того, как я это сказал. – TheWanderer 22 April 2015 в 22:49
  • 2
    вы могли бы отредактировать, поскольку он мог использовать только & amp; ;) – Rinzwind 22 April 2015 в 22:50

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

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