【问题标题】:Stop and restart a loop in Bash [duplicate]在 Bash 中停止并重新启动循环 [重复]
【发布时间】:2017-06-17 14:12:38
【问题描述】:

运行以下命令后...

$ for i in {1..10}; do sleep 3; echo $i; done

...如果我等待几秒钟并点击 Ctl+Z,那么我会得到以下信息:

1
2
^Z
[1]+  Stopped                 sleep 3

现在如果我使用fg 恢复进程,它会恢复循环的sleep 3 部分,但不会完成循环:

$ fg
sleep 3
$

有没有办法停止这个过程,以便以后可以继续循环?

【问题讨论】:

标签: bash loops process


【解决方案1】:

正如其他提到的,您需要使用(for i in {1..10}; do sleep 3; echo $i; done) 启动新的子shell 您可以使用 ctrl+z 暂停。如果您运行jobs 命令,您应该会看到暂停的作业。然后通过fgbg 命令恢复它

Jsfiddle:http://jsfiddle.net/lakshmipathi/chccLdLt/3/

【讨论】:

    猜你喜欢
    • 2020-09-24
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 2020-03-25
    • 2013-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多