我正在编写一个shell脚本。我想运行2个命令。第一个命令是:
/zap.sh -daemon -config api.disablekey=true -config view.mode=attack
一旦我运行它,它将监听一个端口(9090)。
当它侦听该端口时,我想运行另一个命令(卷曲请求)
这就是我的代码现在的样子
echo "start daemon";
~/Desktop/research/ZAP/zap.sh -daemon -config api.disablekey=true -config view.mode=attack
echo "deamon is running";
a=$( curl "http://localhost:8500/JSON/spider/action/scan/?zapapiformat=JSON&url=http://localhost:8080/Danial/login&contextName=" )
由于第一个命令仍在运行(它监听端口),我无法转到下一个命令。有没有办法以异步方式或其他方式执行此操作?
答案 0 :(得分:3)
您可以在后台运行第一个命令,这将允许您在第一个命令运行时执行其他命令。
详细了解:https://www.maketecheasier.com/run-bash-commands-background-linux/
它基本上是这样的:
#!/bin/bash
command1 &
command2
答案 1 :(得分:0)
虽然你可能不需要任何精心设计的东西,但你可能会偷看运行“协同处理”。