Answers:
您在每一行中看到的命令将一个接一个地执行。
因此,在输入一行后,按Enter键即可执行,然后执行下一条命令。
例:
sudo apt-get update
sudo apt-get upgrade
这是两个要一一执行的命令。
立即执行就像sudo apt-get update && sudo apt-get upgrade
(还有其他方法)执行,但是通常不需要这些东西。所以不用担心 键入一行,然后按Enter键即可完成。
正如Web-E解释用两个不同的命令执行所需操作的最直接的方法一样,我想我会表明有很多方法可以执行多个命令或将命令继续执行到另一行而无需立即执行它们。
继续执行长命令:
1)构造一个长命令的最常见方法是输入命令,然后使用反斜杠\
,按回车键,然后Bash会为您提供另一种提示,而不是执行命令。该辅助提示称为PS2,它等待您的输入:
find /home/mike/Downloads -type f -iname '*.jpg' \
>
只要您认为整体命令有意义,就可以继续添加反斜杠并按回车键。
您可以使用通常的Ctrl+ 取消此辅助提示C。
2)Bash可以识别一些命令,例如for循环(for i in ....),并且提示将立即出现;就像您错过命令中的引号一样:
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
如果您希望使用一组以上的命令多次,则应将它们放到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
所有内容的前面(shebang),然后设置执行权限:chmod +x 1280x980-2head.sh
。然后,只需键入./128<tab>
(自动完成)并<enter>
执行所有命令。
您可以将所有内容放在方括号中;例如:
(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
相反,如果在每个命令之间放置“ &&”,则仅在上一个命令没有错误完成的情况下,才执行“ &&”之后的命令,因此您不必使用它来串联命令。请改用分号。相反,如果输入“ ||”,则仅当第一个错误退出时才执行以下命令。示例:(“哪个”命令检查程序是否存在,以及是否不因错误退出)
which apt-get && echo "No error" || echo "Error" # Will print "No error"
which jdhdsd && echo "No error" || echo "Error" # Will print "Error"