আমি মনে করি এই খুব প্রশ্নে থিংকিংমিডিয়ার উত্তরের মন্তব্য বা সম্পাদনা হওয়া উচিত ( ব্যাশের বর্তমান পার্টিশনের জন্য ফ্রি ডিস্কের স্থানটি পরীক্ষা করুন ) তবে আমার মন্তব্য করার অনুমতি নেই (আমার পক্ষে যথেষ্ট নয়) এবং আমার সম্পাদনা প্রত্যাখ্যান করা হয়েছে (কারণ: "এটি একটি মন্তব্য বা উত্তর হওয়া উচিত")। সুতরাং দয়া করে, এসও মহাবিশ্বের শক্তিগুলি, অন্য কারও "উত্তর" পুনরাবৃত্তি করতে এবং ফিক্স করার জন্য আমাকে তিরস্কার করবেন না। তবে ইন্টারনেটে কেউ ভুল ছিল! ™ এবং তারা আমাকে এটি ঠিক করতে দেয় না।
কোড
df --output=avail -h "$PWD" | sed '1d;s/[^0-9]//g'
এর যথেষ্ট ত্রুটি রয়েছে: হ্যাঁ, এটি 50G50 হিসাবে আউটপুট মুক্ত হবে - তবে এটি 5.0M50 হিসাবে আউটপুট বা 3.4G34 15Kহিসাবে বিনামূল্যে বা 15 হিসাবে নিখরচায় আউটপুটও দেবে।
নির্দিষ্ট পরিমাণ ফ্রি ডিস্ক স্পেসের জন্য যাচাই করার উদ্দেশ্যে একটি স্ক্রিপ্ট তৈরি করতে আপনার যে ইউনিটটি আপনি পরীক্ষা করছেন তার বিষয়টি জানতে হবে। এটি সরান ( sedউপরের উদাহরণে যেমন রয়েছে) সংখ্যাগুলি আর বোঝা যায় না।
আপনি যদি বাস্তবে এটি কাজ করতে চান তবে আপনাকে এমন কিছু করতে হবে:
FREE=`df -k --output=avail "$PWD" | tail -n1` # df -k not df -h
if [[ $FREE -lt 10485760 ]]; then # 10G = 10*1024*1024k
# less than 10GBs free!
fi;
এছাড়াও একটি ইনস্টলার এর df -k $INSTALL_TARGET_DIRECTORYচেয়ে বেশি বোধগম্য হতে পারে df -k "$PWD"। অবশেষে, দয়া করে নোট করুন যে --outputপতাকাটি ডিএফ / লিনাক্সের প্রতিটি সংস্করণে উপলব্ধ নয়।
-Pপতাকাটি ব্যবহার করুনdf, আপনি এটি সমস্ত এক লাইনে পাবেন।