매우 간단하지만 여기서 정확히 이 질문을 묻는 질문을 찾지 못했습니다.
나는 이것이 효과가 있을 것이라고 생각했지만 그렇지 않습니다.
echo "Your disk usage is ${df -k -h}."
위의 작업을 어떻게 수행합니까?
답변1
사용 $()
, 사용하지 않음${}
echo "Your disk usage is $(df -h)."
df -h
여러 줄의 출력(헤더용 하나, 마운트된 각 파일 시스템용 하나)이 있으므로 echo 문에 포함하면 매우 보기 흉해 보입니다 .
표시하려는 내용(예: 홈 디렉터리가 포함된 파일 시스템의 디스크 사용량)을 보다 구체적으로 지정하고 인쇄하려는 세부 정보만 추출하여 이 문제를 해결할 수 있습니다. 예를 들어:
printf 'Your disk usage on %s is %s\n' $(df -h ~ | awk 'NR==2 {print $6, $3}')
답변2
다음 ksh
을 수행해야 합니다.
echo "... ${df -k -h;}"
현재 디렉터리가 위치한 파일 시스템의 사용률을 표시하고 util-linux
최신 패키지가 설치된 Linux 시스템을 사용하는 경우 다음을 수행해야 합니다.
printf "Your disk usage is:\t"
(until findmnt -noTARGET,USE% .;do cd ..; done)