BASH执行多个由逗号分隔的命令

BASH执行多个由逗号分隔的命令,bash,while-loop,sleep,Bash,While Loop,Sleep,我正在尝试逐行执行远程文件: curl -sL 'http://remote.com/api/'$1'' | while read NAME do $($NAME) & done 远程文件如下所示: sleep 10; wget -O/opt/store/11.xml http://remote.com/api/11 sleep 10; wget -O/opt/store/12.xml http://remote.com/api/12 sleep 10; wge

我正在尝试逐行执行远程文件:

curl -sL 'http://remote.com/api/'$1'' | while read NAME
    do
        $($NAME) &
done
远程文件如下所示:

sleep 10; wget -O/opt/store/11.xml http://remote.com/api/11
sleep 10; wget -O/opt/store/12.xml http://remote.com/api/12
sleep 10; wget -O/opt/store/13.xml http://remote.com/api/13
sleep 10; wget -O/opt/store/14.xml http://remote.com/api/14
我想执行每一行,但我得到一个错误,如:

Try `sleep --help' for more information.
sleep: invalid option -- 'O'
因此,睡眠是获得parm
-O.

有什么想法吗


谢谢

如果您可以相信远程文件中不会有恶意命令,则可以使用此命令:

while read -r line; do
   bash -c "$line"
done < <(curl -sL "http://remote.com/api/$1")
读取-r行时
;做
bash-c“$line”

完成bash正确地说,这样做可以避免这里的循环,除非OP想在每行之后添加一些日志记录等。