shell中条件判断怎么判断家目录为存在的目录?

#/bin/bash

file="~"
[ -e $file ] && echo "yes" || echo "no"

上述代码输出结果为no,明明为家目录,为什么输出结果为no?希望大神们能帮忙解答一下。

其实file存储的是~,并不是home,正确的做法是[ -e $HOME ] && echo "yes" || echo "no"  .terminal中只不过为了方便识别显示为~

根据1楼我又想,如果~只是代表~这个符号,那么同理点(.)这个符号也仅仅代表点,可是我试过了,如果把上面的代码换成点,就会返回yes。

上面是我的困扰。
后来我又想明白了,因为文件系统里本身就有点这个文件。谢谢1楼的解答。