【发布时间】:2018-04-14 12:22:26
【问题描述】:
考虑脚本 s2:
#!/bin/bash
ssh localhost tail
还有脚本 s1
#!/bin/bash
./s2 &
sleep 1000
wait
现在调用 s1。它不会调用 ssh 命令。
如果您删除 s1 中的 & ,它会。 如果您直接调用 ./s2 ,它会。 如果你在控制台中输入 ./s2 ,它就会出现。
但是 ./s1 不起作用。为什么?
【问题讨论】:
-
你是如何检查的“它不会调用 ssh 命令”?
-
它对我有用。你怎么说它不起作用?
-
我不知道它不会调用 ssh 命令。如果我删除睡眠,那么它会立即退出。但它确实运行 s2 我检查了它。那么它可能取决于系统,这是不好的......
-
如果您的
s1脚本背景是s2运行的tail命令,您认为tail应该从哪里获得它的标准输入?如果您将ssh localhost tail -f /var/log/something改为s2会发生什么?