Mount
zsh:檢查 $PWD 是否在 tmpfs 掛載的文件系統上
如果目前位於已安裝的文件系統上,我想更改
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
文件系統上?
在 Linux 上,您應該能夠:
findmnt -no FSTYPE .
返回文件系統的類型
.
stat
(不是 zshstat
內置)的 GNU 實現也可以通過以下方式實現: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$ '