「Don't Pipe to your Shell」這篇文章給了一些有趣的例子。
很多工具都提供 pipe to shell 的方式安裝,像是這樣的形式:
wget -O - http://example.com/install.sh | sudo sh
先不管「應該用 HTTPS 以確保內容不會被改」的問題,如果 wget 傳到一半斷掉會發生什麼事情呢?像是作者給的例子:
TMP=/tmp TMP_DIR=`mktemp` rm -rf $TMP_DIR
如果傳到最後一行的 rm -rf $TMP
就斷掉 (後面的 _DIR
斷掉) 會發生什麼事情呢?XDDD
如果 shell 是這樣寫呢:
rm -rf /tmp/$TMP_DIR
然後傳到 rm -rf /
就斷線... XD
所以還是先抓下來再執行吧,可以避免意外發生 :p