簡體   English   中英

在此命令中,“ bash-apt-get”與“ apt-get”有什么不同?

[英]What does “bash - apt-get” do differently from just “apt-get” in this command?

curl -sL https://deb.nodesource.com/setup_8.x | bash -
apt-get install -yq nodejs

我們正在使用此命令來更新節點。 我只跑了bash -在終端上,那只換了一行。 我在網上看過,無法找到或了解在我們的update.sh文件中向apt-get添加bash -的內容。

在您的代碼中,第一行從Node服務器下載腳本。 這是一個Bash腳本,Curl會將其打印到標准輸出,因此我們使用管道運算符將其發送到Bash。 破折號(-)是告訴程序應從標准輸入而不是文件中讀取的標准方法。 管道運算符的工作方式是將命令的標准輸出作為標准輸入發送到下一個,因此Bash將從輸入中接收從Node服務器下載的腳本,並將其視為文件,將其執行。

如果要運行不帶| bash -的命令 | bash -最后,您會在終端中看到一個長長的Bash腳本。 如果您嘗試運行echo "echo Hi" | bash - echo "echo Hi" | bash -您將在終端中看到“ Hi”,因為您首先在屏幕上打印echo Hi ,然后將其發送到Bash以執行它,這將打印“ Hi”。

第二條命令使用軟件包管理器進行Node.js的常規安裝。

因此,基本上,您是從Node服務器運行腳本來執行一些預安裝任務(可能是從Node添加apt密鑰並安裝依賴項),然后實際上是在安裝Node.js。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM