繁体   English   中英

如何一次运行多个 Unix 命令?

[英]How to run multiple Unix commands in one time?

我还是 Unix 的新手。 是否可以一次运行 Unix 的多个命令? 比如把我想运行的所有命令写在一个文件中,然后我调用那个文件后,它会运行那个文件里面的所有命令吗? 还是有什么我不知道的方法(或更好的方法)?

感谢您提供所有意见和建议,我将不胜感激。

简短的回答是,是的。 这个概念被称为 shell 脚本,或 bash 脚本(一个常见的 shell)。 为了创建一个简单的 bash 脚本,在顶部创建一个文本文件:

#!/bin/bash

然后将您的命令粘贴到其中,一个到一行。

保存您的文件,通常使用 .sh 扩展名(但不是必需的),您可以像这样运行它:

sh foo.sh

或者您可以更改权限以使其可执行:

chmod u+x foo.sh

然后像这样运行它:

./foo.sh

如果需要,此站点和 web 上提供了大量资源以获取更多信息。

echo 'hello' && echo 'world'

只需用&&分隔您的命令

我们可以通过使用在 shell 中运行多个命令; 作为多个命令之间的分隔符

例如,

ant clean;ant

如果我们使用 && 作为分隔符,那么如果最后一个命令成功,下一个命令将运行。

你也可以使用分号';' 并运行多个命令,例如: $ls;

是的,只需将所有命令放在一个文件中,然后

bash filename

这将按顺序运行命令。 如果您希望它们全部并行运行(即不要等待命令完成),则在文件中的每一行末尾添加一个&

如果要在命令行中使用多个命令,可以使用管道来执行操作。

grep "Hello" <file-name> | wc -l

它将给出该文件中存在“Hello”的次数。

要让命令同时运行,您可以使用 zsh 的作业能力

$ zsh -c "[command1] [command1 arguments] &; [command2] [command2 arguments]"

或者,如果您将 zsh 作为当前 shell 运行:

$ ping google.com &; ping 127.0.0.1

; 是一个标记,可让您将另一个命令放在直接在第一个命令之后运行的同一行上。

&是放置在后台运行它的命令之后的标记。

当然。 它被称为“shell 脚本”。 在 bash 中,将所有命令放在一个后缀为“sh”的文件中。 然后运行这个:

chmod +x myfile.sh

然后输入

. ./myFile

或者

source ./myfile

要不就

./myfile

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM