linux – 如何在Bash中暂停和恢复一系列命令?

cmd1完成后我需要关注cmd2.我有时需要暂停cmd1.

我输入

$cmd1 && cmd2

然后按Ctrl Z(停止)以停止cmd1.现在,cmd1暂停,但是当我恢复时,它在cmd1完成后无法启动cmd2.

我输入

$cmd1 ; cmd2

然后按Ctrl Z(停止)停止cmd1.现在cmd1暂停但它立即启动cmd2.但是,我希望在cmd1完成后才启动cmd2.

我做了一些研究,有人在zsh中提出了一种优雅的方式,但我想知道在bash中是否有一种优雅的方式.

最佳答案
子shell中运行它:

(cmd1 && cmd2)

例:

$(sleep 5 && echo 1)                        # started the command chain
^Z
[1]+  Stopped         ( sleep 5 && echo 1 )  # stopped before `sleep 5` finished
$fg                                         # resumed
( sleep 5 && echo 1 )
1                                            # `sleep 5` finished and `echo 1` ran

相关文章

insmod和modprobe加-f参数导致Invalid module format错误 这...
将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安...
1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...