Bunun ThinkingMedia'nın bu soruya cevabına bir yorum veya düzenleme olması gerektiğini düşünüyorum ( bash'deki mevcut bölüm için boş disk alanını kontrol edin ), ancak yorum yapmama izin verilmiyor (yeterli temsilci yok) ve düzenlemem reddedildi (neden: "bu bir yorum veya cevap olmalıdır"). Öyleyse lütfen, SO evreninin güçleri, başka birinin "cevabını" tekrarladığım ve düzelttiğim için bana lanet etmeyin. Ama internetteki biri yanılıyordu! ™ ve düzeltmeme izin vermediler.
Kod
df --output=avail -h "$PWD" | sed '1d;s/[^0-9]//g'
önemli bir kusuru var: Evet, 50G
50 kadar ücretsiz çıktı - ama aynı zamanda 5.0M
50 3.4G
kadar 15K
ücretsiz veya 34 kadar ücretsiz veya 15 kadar ücretsiz çıktı verecek.
Belli miktarda boş disk alanını kontrol etmek amacıyla bir komut dosyası oluşturmak için, kontrol ettiğiniz birimi bilmeniz gerekir. Çıkarın ( sed
yukarıdaki örnekte olduğu gibi) sayılar artık bir anlam ifade etmiyor.
Gerçekten çalışmasını istiyorsanız, aşağıdaki gibi bir şey yapmanız gerekecek:
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;
Ayrıca bir kurulumcu için df -k $INSTALL_TARGET_DIRECTORY
daha mantıklı olabilir df -k "$PWD"
. Son olarak, lütfen --output
bayrağın her df / linux sürümünde bulunmadığına dikkat edin .
-P
Bayrağı kullanmak için kullanın,df
hepsini tek satırda alacaksınız.