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

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

  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 , но здесь возникает вопрос: как правильно написать многострочную команду, чтобы она работала при копировании / вставке.

4 ответа4

2

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

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

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

1

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

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

1

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

1

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .