1.概览
Linux 中的各种安装指南涉及首先运行 shell 脚本,我们下载并使用 Bash 单独执行。不仅安装指南,而且为自动化手动活动编写的自定义shell脚本还涉及下载和执行脚本。
在本教程中,curl and wget我们将介绍使用curl和wget在单个步骤中下载和执行脚本的方法。
使用此方法时,我们必须谨慎,因为通过不安全的连接下载和执行脚本可能会导致安装恶意软件。此外,我们还需要确保我们使用更新的TLS协议和curl / wget库。
我们可以通过创建一个专用的、非特权的非轮毂用户组,并从中执行脚本来部分管理风险。这确保了没有脚本使用管理员权限执行。
2.安装和使用 – 卷曲
Some某些 Linux 发行版可能默认未安装
我们可以使用 apt-get 将其安装到任何 Ubuntu/Debian 系统上:
$ sudo apt-get install curl
或者我们也可以在CentOs/Fedora/Redhat上安装它:
$ sudo yum install curl
现在,要使用 cURL 下载并执行脚本,我们可以使用 -s 选项。然后,我们将结果发送到 bashbash:
$ curl -s http://example.com/script.sh | bash
当我们使用 -s 选项时,我们要求 cURL 默默地获取 URL 上的所有内容,这些内容不会显示平均下载速度和总时间等统计数据。
这使我们能够使用管道 | 并将其馈送到实际执行脚本的 Bash 命令。
3.安装和使用 – wget
Mostwget大多数 Linux 发行版默认安装了 wget。
我们可以使用 apt-get 将其安装到任何 Ubuntu/Debian 系统上:
$ sudo apt-get install wget
或者我们也可以在CentOs/Fedora/Redhat上安装它:
$ sudo yum install wget
现在,要使用wget下载并执行脚本,wget我们可以使用 -q0 选项,连字符,然后将结果管道到 bashbash:
$ wget -qO - http://example.com/script.sh | bash
当我们使用 -q 选项时,我们告诉 wget 通过不打印其冗长的输出来安静地下载文件。
选项 O 用于将 script.sh 的内容保存到文件。尾随的连字符(介于 -qO 和 http://之间)是告诉 wget 将此内容引导到 /dev/stdout。/dev/stdout任何指向/dev/stdout的东西都直接显示在终端上,这就是为什么script.sh的内容永远不会写到磁盘的原因。
这种尾随的连字符使我们能够将 script.sh 的内容管道到实际执行它的 bash 命令。wget如果我们使用wget没有尾随的连字符和大写O,get 那么get将使用filename脚本.sh将文件内容保存到磁盘。wget这是因为wget实际上用于在Linux中下载文件。
另一方面,curl 将默认永远不会下载文件。虽然,我们刚刚看到我们如何以这种方式使用它。
4.结论
在这篇短文中,我们学会了如何使用curl和wget直接从URL执行shell脚本。curlwget.
我们了解到,通过不安全的连接下载和执行脚本是有风险的。先下载脚本并使用常规编辑器扫描潜在的恶意命令,可以帮助降低风险。我们还看到,curl/wget确保我们使用更新的TLS协议和curl/wget库是很重要的。