मैं एक भी उपयोगिता के बारे में नहीं सोच सकता जो आप बताएंगे, लेकिन यह इतना आसान है कि एक शेल स्निपेट बनाया जाए।
script=$(curl -s "$url")
printf "%s\nDo you want to run this script? [yN]" "$script"
read line
case $line in
[Yy]|[Yy][Ee][Ss]) sh -c "$script";;
esac
यह मानता है कि स्क्रिप्ट एक पाठ फ़ाइल है। अशक्त बाइट्स का समर्थन नहीं किया जाता है: शेल के आधार पर, उन्हें हटाया जा सकता है, या वे एक पंक्ति या पूरी फ़ाइल को काट दिया जा सकता है। इसके अलावा फ़ाइल के अंत में सभी नई सुर्खियों को हटा दिया जाता है (हेरेडोक निर्माण एक वापस जोड़ता है)। यह आम तौर पर एक स्क्रिप्ट के लिए कोई समस्या नहीं है, लेकिन यह उदाहरण के लिए हो सकता है, अगर स्क्रिप्ट बाइनरी प्रारूप में एक संग्रह के साथ समाप्त होती है जो इसे निकालती है। यह फ़ाइल को वितरित करने का एक बहुत विश्वसनीय तरीका नहीं है क्योंकि किसी बिंदु पर गलत बाइनरी स्क्रिप्ट होने का एक महत्वपूर्ण जोखिम है। बहरहाल, आप इसे एक अस्थायी फ़ाइल में स्क्रिप्ट लिखकर संभाल सकते हैं।
script_file=$(mktemp)
curl -s "$url" | tee "$script_file"
printf "Do you want to run this script? [yN]"
read line
case $line in
[Yy]|[Yy][Ee][Ss]) sh "$script_file";;
esac
rm "$script_file"
$()
पहली पंक्ति पर उद्धृत किया जाना चाहिए। इसके अलावा, यह इनपुट में एनयूएल वर्णों को हटा देगा, जो संभवतया घातक हो सकता है (उदाहरण के लिए एक स्व-निष्कर्षण स्क्रिप्ट के मामले में)।