今天,在完成一个任务时,遇到了一个问题:
在启动脚本中配置一下以下内容:网关联网时会先对eth1 配置dhcp,如果配置dhcp成功了,则不再启动4G联网的程序,如果没成功则启动这个程序。还有个要求就是如果进行配置dhcp时如果该指令执行时间超过5s钟,则强制停止该指令。
我想的是把配置dhcp时的一个参数取出来,通过:mm = $(udhcpc -i eth1 | grep “Lease” | awk ‘{print $3}’)
而在达到时间限制结束一条指令的命令行是:udhcpc -i eth1 | grep “Lease” | awk ‘{print $3}’ & { sleep 5s; kill $! &}
单独执行这两个命令行时和预期一样,不过合在一起的话则起不了作用了,
在后面需要解决这个问题,记录在此。
解析:
mm = $(udhcpc -i eth1 | grep "Lease" | awk '{print $3}')
管道
udhcpc -i eth1 | grep "Lease" | awk '{print $3}' & { sleep 5s; kill $! &}
在执行一个指令一段时间后将该进程杀死