현재 마운트된 파일 시스템에 있는 경우 프롬프트 색상을 변경하고 싶습니다 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$ '