【发布时间】:2019-10-03 07:56:03
【问题描述】:
我已经写了一段时间...做..循环;但是,该脚本似乎只循环通过其中一个函数。
我有一个 .txt 文件,其中包含一个物种列表(每个物种名称在一个新行上)。我尝试编写一个循环,逐行读取文本文件,回显物种名称,使用 ddgr 执行网络搜索,然后等待 30 秒,然后再用下一行重复该操作。
#!/bin/bash
file="species-list.txt"
while IFS= read -r line
do
echo "$line";
ddgr --json "$line" >>ddgr-output.json;
sleep 30;
done<"$file"
脚本将回显列表中的第一个物种名称,然后对每个物种名称执行 ddgr 函数,而无需休眠或重复回显。
【问题讨论】:
-
你的暗示应该是不可能的。您可以通过完全回显 ddgr 命令来测试它。
-
我更改了脚本,只将 ddgr 输出写入终端,我可以看到它正在处理所有物种,没有暂停。
-
你可以试试
ddgr --json "$line" </dev/null >>ddgr-output.json;吗?还是exec 10<"$file"; while IFS= read -u10 -r line?可能是this。 -
@KamilCuk /null 工作!非常感谢:)