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
另外,如果你想要更健壮一点,你可以使用&&
to 分隔命令,它只会在前一个命令成功的情况下尝试执行下一个命令:
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
)文件,无论发生什么(即使它不存在)-O
选项 with 。wget
除非您想使用不同的临时文件名,否则这是多余的install.sh
您在第一个语句中下载并在最后一个语句中删除。您需要添加一行来执行文件,方法是添加:
./install.sh