我需要检查ccperl中是否存在文件。
我尝试使用'if exists',但它没有用。
我知道有时我们在命令的开头和结尾使用“'”,但还有另一种方法吗?
由于
答案 0 :(得分:4)
您可能想要的是-f 'myfile'
,如果名称对应于文件,则返回true。
有a number of these tests,您可以使用-e
检查名称是否存在,但它可以是文件或目录(或者可能是Unix上的链接或管道)。 / p>
答案 1 :(得分:0)
关于ccperl (or ratpl),请检查所用perl的版本(对于旧的ClearCase版本,它仍然是5.8.6)。
这可能会影响使用-f
测试的某些文件,this thread illustrates from a file with a trailing space。
您可以看到ClearCase ccperl script here的示例:
if ( $n_file != 0 ) {
while ( $file_name = shift(@file_list) )
{
if ( ! -f $vob_path.$dir_part.'/'.$file_name ) {
print "not found $vob_path".$dir_part.'/'."$file_name \n";
} else {
$size1 = &file_size($file_name);
$size2 = &file_size($vob_path.$dir_part.'/'.$file_name);
if ( $size1 != $size2 ) {
print "Err file $dir_part $file_name $size1 $size2\n";
}
}
}
}
(它也会测试目录,下面几行,-d
选项)