我有很多(虚拟)机器要初始化,所以我编写了一个init脚本并将其放在Web服务器上。通常我将以下四行作为一行粘贴到控制台,以便可以预期初始化VM。
TEMPFILE = `mktemp`
curl http://host/path/to/init.sh > $TEMPFILE
sh $TEMPFILE
\rm $TEMPFILE
如何写它更优雅和紧凑?
答案 0 :(得分:2)
您可以直接将curl
的输出传送到shell:
curl http://host/path/to/init.sh | sh
不需要临时文件。
但是,这可能是不安全的,因为黑客可能会在传输过程中修改init.sh
,然后就可以在您的系统上执行任意代码。我至少建议使用https
答案 1 :(得分:1)
将其直接传送到sh
curl http://host/path/to/init.sh | sh