আপনার যদি কিছু অস্থায়ী ফাইল লিখতে হয় যা কেবলমাত্র আপনার স্ক্রিপ্ট বা অ্যাপ্লিকেশন চলমান অবধি স্থায়ী হয়, TMPDIR
পরিবেশের ভেরিয়েবল দ্বারা নির্দেশিত ডিরেক্টরিটি ব্যবহার করুন বা যদি সেই পরিবর্তনশীলটি সংজ্ঞায়িত না করা হয় /tmp
,।
/tmp
কিছু সিস্টেমে বুট করার সময় ক্লিয়ার করা হয় (কখনও কখনও এটি র্যামেও থাকে, যেমন সোলারিসে ডিফল্টরূপে এবং কিছু লিনাক্স ইনস্টলেশন), সুতরাং এটি কোনও ফাইলের জন্য ব্যবহার করা যাবে না যা একটি বিদ্যুৎ ব্যর্থতা বা পুনরায় বুট থেকে বেঁচে থাকতে হবে। /var/tmp
একটি রিবুট বেঁচে থাকতে হবে এমন ফাইলগুলির জন্য ব্যবহার করা যেতে পারে তবে এটি সময়ে সময়ে সিস্টেম প্রশাসক দ্বারা পরিষ্কার করা যেতে পারে by যদি আপনার অ্যাপ্লিকেশনটির স্থায়ী ভিত্তিতে ফাইলগুলি সংরক্ষণ করা দরকার হয় তবে সেগুলি ব্যবহারকারীর হোম ডিরেক্টরিতে ( ~/.programmingnoobsapp
অথবা ~/.cache/programmingnoobsapp
) বা এর অধীনে /var/lib/programmingnoobsapp
বা কোথাও লিখুন /var/cache/programmingnoobsapp
।
নোটটি /tmp
যা সমস্ত ব্যবহারকারীর মধ্যে ভাগ করা আছে, তাই সেখানে কোনও ফাইল তৈরি করার সময় আপনার সতর্কতা অবলম্বন করা উচিত। আপনাকে এমন একটি ফাইলের নাম বাছাই করতে হবে যা এখনও বিদ্যমান নেই এবং আপনাকে এমন একটি রেসের শর্তটি না দেওয়ার জন্য সতর্কতা অবলম্বন করা উচিত যেখানে অন্য প্রক্রিয়াটি বিভিন্ন অনুমতি নিয়ে আপনার আগে ফাইল তৈরি করে, যা একটি সুরক্ষা গর্ত হতে পারে (যদি অন্য প্রক্রিয়া হয়) অন্য ব্যবহারকারী হিসাবে চলছে, এটি তখন আপনার প্রক্রিয়াটির ডেটা অ্যাক্সেস এবং সংশোধন করতে পারে)। বা mktemp
একটি ফাইল তৈরি করতে কমান্ডটি ব্যবহার করুন । ডিফল্টরূপে, একটি ফাইল তৈরি করে , বা যদি সেট না করা থাকে, যা সাধারণত সঠিক জায়গা। আপনার যদি একাধিক অস্থায়ী ফাইলগুলি ব্যবহার করতে হয় বা আপনার যদি একটি একক প্রয়োজন হয় তবে আমি আপনার সমস্ত অস্থায়ী ফাইলগুলির জন্য একটি ডিরেক্টরি তৈরি করার পরামর্শ দিচ্ছি/tmp
/var/tmp
mktemp
$TMPDIR
/tmp
TMPDIR
mktemp -d
এবং এটি আপনার স্ক্রিপ্টের শেষে মুছে ফেলা হচ্ছে।
#!/bin/sh
tmp_root=
trap 'rm -rf "$tmp_root"' EXIT INT TERM HUP
tmp_root=$(mktemp -d)
tmpfile1=$tmp_root/file1
tmpfile2=$tmp_root/file2
…