শীর্ষ উত্তর যোগ করার প্রস্তাব দেওয়া #!/bin/bash
বলা হচ্ছে উপ-স্ক্রিপ্ট প্রথম লাইন লাইন। কিন্তু এমনকি যদি আপনি কুঁড়েঘর যোগ করুন, এটা অনেক দ্রুততর * একটি উপ-শেল মধ্যে একটি স্ক্রিপ্ট চালাতে সমস্যা এবং আউটপুট ক্যাপচার:
$(source SCRIPT_NAME)
এই কাজ করে আপনি একই অনুবাদক চলমান রাখতে চান (যেমন অন্য ব্যাশ স্ক্রিপ্ট থেকে ব্যাশ থেকে) এবং নিশ্চিত করে যে উপ-স্ক্রিপ্ট কুঁড়েঘর লাইন মৃত্যুদন্ড কার্যকর করা হয় না।
উদাহরণস্বরূপ:
#!/bin/bash
SUB_SCRIPT=$(mktemp)
echo "#!/bin/bash" > $SUB_SCRIPT
echo 'echo $1' >> $SUB_SCRIPT
chmod +x $SUB_SCRIPT
if [[ $1 == "--source" ]]; then
for X in $(seq 100); do
MODE=$(source $SUB_SCRIPT "source on")
done
else
for X in $(seq 100); do
MODE=$($SUB_SCRIPT "source off")
done
fi
echo $MODE
rm $SUB_SCRIPT
আউটপুট:
~ ❯❯❯ time ./test.sh
source off
./test.sh 0.15s user 0.16s system 87% cpu 0.360 total
~ ❯❯❯ time ./test.sh --source
source on
./test.sh --source 0.05s user 0.06s system 95% cpu 0.114 total
* উদাহরণস্বরূপ যখন ভাইরাস বা নিরাপত্তা সরঞ্জামগুলি কোনো ডিভাইসে দৌড়াচ্ছে এটি একটি নতুন প্রক্রিয়া Exec একটি অতিরিক্ত 100 মিঃসে নিতে পারে।