Скопируйте и вставьте многострочную команду в командную строку

Скопируйте и вставьте многострочную команду в командную строку

Я пишу документ об установке моего программного обеспечения и мне нужно написать что-то вроде

Пожалуйста, сделайте следующее:

  sudo apt-get update
  sudo apt-get install python-dev cython portaudio19-dev

Идея такова: люди собираютсякопировать вставить эти две линии в их bashи затем ударил ENTER.

Какой есть чистый способ написания многострочных команд, которые можно будет скопировать/вставить в bash?

sudo apt-get update
sudo apt-get install python-dev cython portaudio19-dev

или

sudo apt-get update ;
sudo apt-get install python-dev cython portaudio19-dev

или

sudo apt-get update &&
sudo apt-get install python-dev cython portaudio19-dev

или что-то другое?

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

решение1

Первый вариант вряд ли сработает вообще.

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

Третий вариант, &&который в вашем примере означает выполнение второй командытолькоесли первая команда была успешной.

решение2

Вам не нужно делать ничего особенного, CLI видит невидимый возврат каретки и переходит на следующую строку. Просто выделите, скопируйте и вставьте!

решение3

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

решение4

Лично я использую двойной амперсанд ( &&) и держу все в одной строке, если печатаю. Если я копирую и вставляю в окно PuTTY, то я могу просто скопировать и вставить, и все команды будут выполнены, как если бы я их ввел и нажимал Enterвручную после каждой строки.

Дополнительная замечательная вещь в том, &&что команда остановится, если возникнет ошибка, и не продолжит выполнение. Это позволяет мне увидеть, в какой части была ошибка, и исправить ее (опечатка? Неправильный рабочий каталог? Не root [моя компания не использует sudo-.-]?).

Связанный контент