나는 이것이 바로이 질문에 대한 ThinkingMedia의 대답 ( bash에서 현재 파티션에 대한 여유 디스크 공간 확인) 에 대한 주석 또는 편집이어야한다고 생각 하지만 주석을 달 수 없으며 (반복이 충분하지 않음) 편집이 거부되었습니다 (이유 : "이것은 의견 또는 답변이어야합니다"). 그러니 제발, SO 우주의 힘 이여, 다른 사람의 "답변"을 반복하고 고친다 고 저주하지 마십시오. 그러나 인터넷상의 누군가가 틀렸어요! ™ 그리고 그들은 제가 그것을 고치도록 허락하지 않았습니다.
코드
df --output=avail -h "$PWD" | sed '1d;s/[^0-9]//g'
상당한 결함이 있음 : 예, 50G
무료로 50으로 출력 하지만 5.0M
무료로 50으로 출력 하거나 3.4G
34로, 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
모든 버전의 df / linux에서 플래그를 사용할 수있는 것은 아닙니다.
-P
플래그를 사용하면df
한 줄에 모두 얻을 수 있습니다.