Я пишу документ об установке моего программного обеспечения и мне нужно написать что-то вроде
Пожалуйста, сделайте следующее:
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
-.-]?).