Perl的CHDIR不工作(Perl chdir doesn't work)

2019-09-21 07:45发布

一前一后可能是有用的: Perl的system()调用返回代码为65280失败

同样,我用这个代码很多次,但它不会在这里工作。 我从移动路径中的所有其它的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 =

Answer 1:

为了确保你确实是在ClearCase视图,我会用cleartool pwd

$current_dir = `cleartool pwd`;

这甚至会工作在Windows上:

cleartool pwd命令列出当前工作目录。
此命令旨在用于交互式cleartool和多刀的会议,并在批处理文件或模拟互动环节shell脚本。



Answer 2:

你是混合了pwdcdcd打印只STDERR,即它静静地成功。

我的观点是, cd是你的情况没有用的。



Answer 3:

为了得到当前工作目录,你应该使用Cwdgetdcwd功能:

use Cwd;

my $current_dir = getdcwd 'M:';


文章来源: Perl chdir doesn't work