很简单,但我在这里没有找到确切提出这个问题的问题。
我以为这会起作用,但事实并非如此。
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)