我注意到使用-d
标志来检查文件是否是目录以及目录是否存在的行为很奇怪。如果我使用~/my_dir
作为路径,它的行为会有所不同。
以下代码将返回false,即使目录my_dir
存在,但如果我将其更改为完整路径,如/home/ricky/my_dir
,则if
语句将返回true。
#!/usr/bin/perl -w
#
use strict;
if ( -d "~/my_dir") {
print "Found \n";
}
else {
print "Not found \n";
}
有什么区别?
ls "~/mydir"
命令 - 你会发现其中的区别
。 - devnull