Bash
在從 curl 管道到 sh 之前閱讀並確認 shell 腳本(curl -s你我_你r一世url|噓)
每當我必須從 web 執行 shell 腳本時
curl -s [url] | sh
,我首先url
在我的 web 瀏覽器中打開以確保該腳本不是惡意的並且可以安全執行。我記得看到一個命令行技巧,它可以從命令行讀取腳本,然後在讀取腳本後確認執行。如果我沒記錯的話,它看起來像
curl -s [url] | something...here | sh
並且不需要安裝任何軟體。有人知道這個技巧嗎?
moreutils
呼叫中有一個實用程序,vipe
它在編輯器中顯示標準輸入,您可以在其中查看和修改文件,然後再將其傳遞到標準輸出。如果您不想安裝
moreutils
,您可以完成類似的操作:file=$(mktemp); curl -s "$url" > $file; $EDITOR $file; sh $file; rm $file
mktemp
已在coreutils
並且很可能已經安裝在您的系統上。
很難想像你為什麼要這樣做,更不用說你會找到一個(或多個)腳本源來下載和執行這樣頻繁以至於需要專用工具的地方。
為什麼不直接下載腳本
curl
(或wget
或snarf
或其他),檢查和編輯它(這是一個罕見的腳本,不需要為您的特定係統進行一些自定義)然後執行它 - 通過使其可執行 withchmod
或 withsh scriptname
?