আমি এমন একটিও ইউটিলিটি ভাবতে পারি না যা আপনার বর্ণনা অনুসারে করবে তবে এটি শেলের স্নিপেট তৈরি করা যথেষ্ট সহজ।
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"
$()
প্রথম লাইনে উদ্ধৃত করা উচিত। এছাড়াও, এটি ইনপুটটিতে NUL টি অক্ষর মুছে ফেলবে, যা সম্ভবত মারাত্মক হতে পারে (উদাহরণস্বরূপ স্ব-উত্তোলনের স্ক্রিপ্টের ক্ষেত্রে)।