我试图逐行执行远程文件:
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...
有什么想法吗?
谢谢!
答案 0 :(得分:2)
如果您可以信任,您可以在远程文件中没有恶意命令时使用此功能:
while read -r line; do
bash -c "$line"
done < <(curl -sL "http://remote.com/api/$1")