上一篇文章可能有用:Perl system() call failed with return code 65280
同样,我已多次使用此代码,但它在此处不起作用。我已经从PATH移动了所有其他perl实例。
来源:
$targetDir = "M\:\\bldforge_AOMS_DEV";
print ("targetDir=$targetDir\n");
chdir($targetDir) or die "Cant chdir to $dir $!";
$current_dir = `cd`;
print "\nCurrent dir = $current_dir\n"
输出:
Z:\>ccperl test.pl
targetDir=M:\bldforge_AOMS_DEV
Current dir =
答案 0 :(得分:2)
为了确保您确实处于ClearCase视图中,我会使用cleartool pwd
:
$current_dir = `cleartool pwd`;
即使在Windows上也能正常工作:
cleartool pwd
命令列出当前的工作目录 此命令适用于交互式cleartool和多工具会话,以及模拟交互式会话的批处理文件或shell脚本。
答案 1 :(得分:0)
您正在将pwd
与cd
混在一起。 cd
仅打印到 STDERR ,即它会以静默方式成功。
我的观点是cd
对你的情况毫无用处。
答案 2 :(得分:0)
要获取当前工作目录,您应该使用Cwd
的getdcwd
函数:
use Cwd;
my $current_dir = getdcwd 'M:';