我通常使用以下命令运行多个命令:

sleep 2 && sleep 3

sleep 2 ; sleep 3

但是如果我想从一个命令行命令在后台运行它们呢?

sleep 2 & && sleep 3 &

doesn't w或k. And neither does replacing && with ;

有办法吗?

推荐答案

你到底想让他们怎么跑?如果希望在后台启动并运行sequentially,可以执行以下操作:

{ sleep 2; sleep 3; } &

如果您只希望在sleep 2成功的情况下运行sleep 3,那么:

sleep 2 && sleep 3 &

另一方面,如果你想让它们在后台运行parallel次,你可以这样做:

sleep 2 & sleep 3 &

这两种技术可以结合使用,例如:

{ sleep 2; echo first finished; } & { sleep 3; echo second finished; } &

Bash作为Bash,通常有多种不同的技术来完成相同的任务,尽管有时它们之间存在细微的差异.

Linux相关问答推荐

为什么将JAX与Docker一起安装会创建如此大的镜像?

Shell 脚本程序 - 从日志(log)文件中过滤磁盘空间利用率超过 80% 的行

计算与文件第一列对应的第二列中的字符串出现次数

重新运行时避免 Linux bash 脚本中的文件重命名重复

如何比较 2 个文件并将第二个文件的所有行打印到输出文件 awk

如何删除文件中不需要的字符(使用 shell 脚本)

有什么方法可以知道在发送之前将在 TCP 上发送多少字节?

如何安装脚本以从命令行的任何位置运行?

用于判断 shell 脚本是否正在运行的 Linux 命令

Java 8 上的 SQL Server JDBC 错误:驱动程序无法使用安全套接字层 (SSL) 加密建立与 SQL Server 的安全连接

Linux 上的 C++ 开发 - 我从哪里开始?

如何通过 ssh 判断 ubuntu 服务器上是否存在 php 和 apache

scp 使用私钥身份验证将目录复制到另一台服务器

谁决定任何数据类型或 struct 的大小(取决于 32 位或 64 位)?

发出信号并中断比较

如何运行时调试共享库?

仅使用 proc 获取本地网络接口地址?

从线程内Forking 是否安全?

linux中netstat和ss的区别?

区分 Java 线程和 OS 线程?