Как мне набрать следующую строку в Терминале?

Я использую Ubuntu 12.10 и хочу запустить набор команд в терминале, и, как я вижу в инструкциях, каждая из этих команд начинается с новой строки. Я не знаю, как это сделать в терминале. Я не могу найти, какую клавишу нажать для возврата каретки на следующую строку.

16
задан 6 December 2012 в 20:45

6 ответов

Команды, которые вы видите в каждой строке, должны выполняться по одной.

Итак, после ввода строки нажмите Enter для выполнения, затем выполните следующую команду.

Пример:

sudo apt-get update
sudo apt-get upgrade

Это две команды, которые должны выполняться одна за другой.

Выполнение сразу будет похоже на sudo apt-get update && sudo apt-get upgrade (есть и другие методы), но обычно это не требуется. Так что не волнуйся. Введите одну строку и нажмите Enter, она выполнит свою работу.

0
ответ дан 6 December 2012 в 20:45

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

Продолжение долгих команд:

1) Наиболее распространенный способ создать одну долгую команду состоит в том, чтобы ввести Ваши команды, затем использовать обратную косую черту \, нажмите возврат, и затем Bash предоставит другую подсказку Вам вместо того, чтобы выполнить команду. Эту вторичную подсказку называют PS2 и ожидает Вашего входа:

find /home/mike/Downloads -type f -iname '*.jpg' \
> 

Можно продолжить добавлять обратные косые черты и нажимать возврат, пока Вы хотите, пока Вы думаете, что полная команда будет иметь смысл.

Можно отменить эту вторичную подсказку с обычным Ctrl+C.

2) Bash распознает некоторые команды такие что касается циклов (поскольку я в....), и подсказка сразу появится; так же, как это будет при пропавших без вести кавычки от команды:

apt-cache search 'libgimp*
> 

Несколько команд:

3) Как примечания Lxnslck, можно разделить команды с точками с запятой:

which vlc; whereis vlc

/usr/bin/vlc
vlc: /usr/bin/vlc /etc/vlc /usr/lib/vlc /usr/bin/X11/vlc /usr/share/vlc /usr/share/man/man1/vlc.1.gz

4) Или можно использовать амперсанд && присоединиться к двум командам:

./configure && make
12
ответ дан 6 December 2012 в 20:45

Когда это набор команд, которые вы ожидаете использовать более одного раза, вы должны поместить их в файл сценария bash . Например,

xrandr --newmode "1280x960_80.00" 139.25  1280 1368 1504 1728  960 963 967 1008 -hsync +vsync
xrandr --verbose --addmode VGA1 "1280x960_80.00"
xrandr --output HDMI1 --off --output LVDS1 --mode 1366x768 --pos 1280x512 --rotate normal --output DP1 --off --output VGA1 --mode "1280x960_80.00" --pos 0x0 --rotate normal
sleep 3
xfce4-panel -r

- это не то, что вы хотели бы вводить когда-либо снова, но мне случается, что эта последовательность команд очень часто нужна. Таким образом, это происходит в файле с именем 1280x980-2head.sh, вы можете создать его с любым редактором по вашему выбору. Чтобы сделать этот скрипт исполняемым , вы ставите строку #!/bin/bash перед всем ( шебанг ) и устанавливаете разрешение на выполнение: chmod +x 1280x980-2head.sh. Затем, просто набрав ./128<tab> (автозаполнение) и <enter>, выполните все команды.

0
ответ дан 6 December 2012 в 20:45

Вы можете поместить все в скобки; например:

(sudo add-apt-repository ppa:foo/bar
sudo apt-get update
sudo apt-get install my-package)

Команды будут выполняться одна за другой в под-оболочке.

Если вы не хотите, чтобы они выполнялись в под-оболочке, вы можете поставить точку с запятой между командой и другой; например:

sudo add-apt-repository ppa:foo/bar; sudo apt-get update; sudo apt-get install my-package

Вместо этого, если вы поставите "& amp; & amp;" между каждой командой, команда, которая следует за "& amp;" будет выполняться только , если предыдущая команда завершилась без ошибок, поэтому вам не нужно использовать ее для объединения команд; используйте вместо этого точку с запятой. И наоборот, если вы введете «||», следующая команда будет выполнена только в том случае, если первая команда завершится с ошибкой. Пример: (команда which проверяет, существует ли программа и не выходит ли с ошибкой)

which apt-get && echo "No error" || echo "Error"    # Will print "No error"
which jdhdsd && echo "No error" || echo "Error"  # Will print "Error"
0
ответ дан 6 December 2012 в 20:45

Вы можете нажимать клавишу ВВОД после каждой строки, и если команда не прервана (например, команды mutiline, например, циклы for), терминал будет ждать, пока вы введете остальную часть команды. Если команда завершена, она будет выполнена, и вы введете следующую команду после, без проблем.

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

0
ответ дан 6 December 2012 в 20:45

Обратная косая черта (\) и Enter — это то, что вам нужно. Пример:

Shell:> command --param1 paramValue \
--param2 paramValue \
--param3 paramValue \

Когда вы нажмете «ввод» после «\», команда будет продолжена, но с новой строки.

0
ответ дан 30 November 2020 в 16:15

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

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