如何通过向终端发出一个请求(不使用文件)来执行多个命令?

我可以(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命令分组语法。 它通常与&&||结合使用 (分别为’和’,’或’)