MANA-DOT

PIXEL ART, PROGRAMING, ETC.

プロンプトにディスクの使用量を表示する

ScreenClip

画像のように、zshのRPROMPTにディスクの使用量を表示する方法。 .zshrcに次の様なことを書く。

setopt prompt_subst

df=`df -h ~/|tail -n 1`
df=`echo "a$df"|awk '{printf"disk use: %s / %s", $3, $2}'`
RPROMPT='$df'

特に難しいことはしていませんが、注意点が2つ。

  • setopt prompt_subst しないと変数がRPROMPTで展開されない。
  • ただ df|tail した結果をawkすると、ディスクのマウントポイントの名称が長い場合に改行されてしまい、正しく数字が拾えないので、echoで頭に適当な文字列をくっつけてる(ちょっと汚い)。