perl反引号不适用于cd。为什么?

时间:2015-03-14 17:38:45

标签: perl backticks

我在win7上使用AS perl。

print `cd \\\\ `; # does nothing, says nothing

与qx()

相同
print `dir \\\\ `;  # correctly prints the root directory

其他命令似乎也可以正常工作。

cd可以从批处理文件的命令行中正常工作。

有没有人见过这个?有解决方法吗?

1 个答案:

答案 0 :(得分:7)

您可能正在寻找chdir。在反引号中使用shell命令不会产生持久影响。当您运行反引号命令时,您生成一个新的shell,执行该命令,并将标准输出返回给Perl。然后shell退出,对它的任何和所有更改都将丢失。