#/bin/bash
file="~"
[ -e $file ] && echo "yes" || echo "no"
上述代码输出结果为no,明明为家目录,为什么输出结果为no?希望大神们能帮忙解答一下。
其实file存储的是~,并不是home,正确的做法是[ -e $HOME ] && echo "yes" || echo "no" .terminal中只不过为了方便识别显示为~
根据1楼我又想,如果~只是代表~这个符号,那么同理点(.)这个符号也仅仅代表点,可是我试过了,如果把上面的代码换成点,就会返回yes。
上面是我的困扰。
后来我又想明白了,因为文件系统里本身就有点这个文件。谢谢1楼的解答。