如何通过向终端发出一个请求(不使用文件)来执行多个命令?
我可以(1)准备一个文件,其中包含由终点分隔的类型命令,(2)使其可执行,(3)从文件系统管理器或终端运行它。
但这对于不可重复且每次都有的其他命令集来说都是荒谬的。
我可以在一个请求中将这些命令输入终端吗?
我不知道终端的终止字符 – 使用Enter键的Ctrl,Shift或Alt不起作用。
您可以使用&&
或;
分隔命令 。
-
&&
只运行下一个命令,如果前一个命令退出状态为0(成功):command1 && command2 && command3
-
;
运行每个命令,即使前一个命令以非零状态退出:command1; command2; command3
您可以根据需要组合这些分隔符。
如果您有兴趣在一个请求中在自己的行上键入每个命令,可以使用以下方法:
-
用
if :; then
:;开始你的请求(第一行)if :; then
(这意味着:如果为真,则执行)并按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: / $
首先,将{
放在自己的路线上。
然后,插入您的命令。
然后,将}
放在一个新行上,然后按Enter键 。 您的命令将被执行。
例:
{ echo list echo of echo commands echo to run at once }
将打印(一次全部打印,中间没有提示):
list of commands to run at once
作为旁注, { .. }
是Bash命令分组语法。 它通常与&&
或||
结合使用 (分别为’和’,’或’)