wget http://sitehere.com/install.sh -v -O install.sh; rm -rf install.sh
这会在下载后运行脚本,然后将其删除吗?
我喜欢将其管道传输到sh。不需要在本地创建和删除文件。
wget http://sitehere.com/install.sh -O - | sh
我认为您可能需要实际执行它:
wget http://sitehere.com/install.sh -v -O install.sh; ./install.sh; rm -rf install.sh
另外,如果你想要更强的鲁棒性,可以使用&&
来分隔命令,这样只有在前一个命令成功执行后才会尝试执行下一个命令:
wget http://sitehere.com/install.sh -v -O install.sh && ./install.sh; rm -rf install.sh
我认为这是最好的方法:
wget -Nnv http://sitehere.com/install.sh && bash install.sh; rm -f install.sh
说明:
-N
或 --timestamping
只会在服务器上有更新时才下载该文件-nv
或 --no-verbose
最小化输出,或者使用 -q
/ --quiet
完全没有 "wget
" 的输出&&
只有当第一个命令成功执行时才会执行第二个命令bash
(或 sh
) 执行脚本,假设它是一个脚本 (或 shell 脚本); 不需要 chmod +x
rm -f
(或 --force
) 无论发生什么情况都会删除该文件 (即使它不存在)wget
的 -O
选项。除非您想使用与 install.sh
不同的临时文件名,否则它是多余的./install.sh