現在マウントされているファイルシステムにいる場合は、プロンプトの色を変更したいと思いますzsh
。$PWD
tmpfs
たとえば、/dev/shm
ファイルtmpfs
システム。私は確認できます:
$ grep /dev/shm /proc/mounts
tmpfs /dev/shm tmpfs rw,nosuid,nodev,noexec,relatime,size=26307700k 0 0
したがって、私が入ったら、/dev/shm
次のようにすることができます。
grep -q "^tmpfs $PWD tmpfs " /proc/mounts
/dev/shm/foo
しかし、背中に立っていると動作/dev/shm/foo/bar
しません。
ファイルシステム$PWD
に存在することを確認するには?tmpfs
答え1
Linuxでは、次のことができます。
findmnt -no FSTYPE .
ファイルシステムタイプを返します。.
次のようにGNU実装stat
(stat
組み込みzshではない)も可能です。
command stat -fc %T .
$psvar
したがって、フックされた要素にその情報をキャッシュできますchpwd
。
check_cwd_is_tmpfs() {
if [[ $(command stat -fc %T .) = tmpfs ]]; then
psvar[1]=red
else
psvar[1]=green
fi
}
chpwd_functions+=(check_cwd_is_tmpfs)
check_cwd_is_tmpfs
PS1='%F{%1v}%~%F$ '