-1

我需要检查 ccperl 中是否存在文件。

我尝试使用“如果存在”,但它没有用。

我知道有时我们在命令的开头和结尾使用“'”,但还有其他方法吗?

谢谢

4

2 回答 2

4

您可能想要的是-f 'myfile',如果名称对应于文件,则返回 true 。

许多这样的测试,您可以使用它-e来检查名称是否存在,但它可以是文件或目录(或者可能是 Unix 上的链接或管道)。

于 2013-02-12T14:07:25.923 回答
0

关于ccperl(或 ratpl),请检查使用的 perl 版本(对于旧的 ClearCase 版本,它仍然是 5.8.6)。
这可能会影响使用某些经过测试的文件-f,正如该线程从带有尾随空格的文件中说明的那样。

您可以在此处查看 ClearCase ccperl 脚本的示例:

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选项)

于 2013-02-12T14:25:56.477 回答