避免直接 pipe 進 shell...

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

Leave a Reply

Your email address will not be published. Required fields are marked *