curl -sL https://deb.nodesource.com/setup_8.x | bash -
apt-get install -yq nodejs
我们正在使用此命令来更新节点。我在终端中只运行了bash -
,并且返回了新行。我在网上看过,无法找到或了解在我们的update.sh文件中向bash -
添加apt-get
的作用。
答案 0 :(得分:1)
在您的代码中,第一行从Node服务器下载脚本。这是一个Bash脚本,Curl会将其打印到标准输出,因此我们使用管道运算符将其发送到Bash。破折号(-)是告诉程序应从标准输入而不是文件中读取的标准方法。管道运算符的工作方式是将命令的标准输出作为标准输入发送到下一个,因此Bash将从输入中接收从Node服务器下载的脚本,并将其视为文件,将其执行。 >
如果您在不带| bash -
结尾的情况下运行命令,则会在终端中看到一个长长的Bash脚本。如果您尝试运行echo "echo Hi" | bash -
,则您将在终端上看到“ Hi”,因为您首先在屏幕上打印echo Hi
,然后将其发送到Bash以执行它,这将打印“ Hi”
第二个命令使用您的程序包管理器进行Node.js的常规安装。
因此,基本上,您是从Node服务器运行脚本来执行一些预安装任务(可能是从Node添加apt密钥并安装依赖项),然后实际上是在安装Node.js。