Answers:
您可以使用&&
或分隔命令;
。
&&
仅当前一个以状态0退出(成功)时,才运行下一个命令:
command1 && command2 && command3
;
运行每个命令,即使前一个以非零状态退出:
command1; command2; command3
您可以根据需要组合这些分隔符。
command1 && command2
仅当command1成功时,才会执行for command2。
sudo apt upgrade
和结合使用sudo systemctl reboot
,您是否需要两次添加“ sudo”,还是第二个命令“记住” sudo?
如果您希望在单个请求中在自己的行上键入每个命令,则可以使用以下方法:
用if :; then
(表示:如果为true,则执行)开始您的请求(第一行),然后按Enter;您的提示将立即更改>
,不会执行任何操作。
输入您的命令,每个命令后跟 Enter
使用fi
(结束上述if
条件)完成请求,然后按Enter。现在,所有命令将按给定顺序执行。
例:
radu@Radu: ~ $ if :; then
> echo 'something'
> echo 'something else'
> echo 'List current directory contents:'
> ls
> echo 'Change current directory with root directory:'
> cd
> #finish
> fi
something
something else
List current directory contents:
Backups Desktop forma3d Public Untitled txt.txt~
bin Documente Music Templates Videos
configuration.php examples.desktop passwd~ tmp~
Downloads file~ Poze Ubuntu One
Change current directory with root directory:
radu@Radu: / $
if true; then
如果需要,阅读起来可能更清晰。乍一看:
可能会感到困惑;
。
首先,将其{
放在自己的行上。
然后,插入您的命令。
然后,将a }
放在新行上,然后按Enter。您的命令将被执行。
例:
{
echo list
echo of
echo commands
echo to run at once
}
它将打印(一次打印,中间没有提示):
list
of
commands
to run at once
附带说明一下,{ .. }
是Bash命令分组语法。通常与&&
or 结合使用||
(分别与'and'和'or' 结合使用)
if :; then
已经提到的一样吗?还是略有不同?
if :
在null命令上运行测试,该命令将始终返回true。{ .. }
只是将命令分组在一起。我个人觉得{ .. }
更容易记住。