控制Perl认为的“系统外壳”

时间:2018-10-10 16:01:41

标签: windows perl

我正在运行一个外部提供的perl脚本(如果您有兴趣,请使用OpenSSL配置脚本)。它包含以下行:

 this.zoom = d3.zoom()
                  .scaleExtent([0.01, 9000])
                  .translateExtent([[-100, -100], [100, 100]])
                  .extent([[0,0], [500, 500]])
                  .on("zoom", this.zoomed.bind(this))
 zoomed() {
  this.yScale = d3.scaleLinear()
                    .domain([0, 1000])
                    .range([0, 100]);
  this.xScale = d3.scaleLinear()
                    .domain([-20, 2000])
                    .range([0, 100]);
  this.yScale.domain(zoomTransform.rescaleY(this.yScale).domain());
  this.xScale.domain(zoomTransform.rescaleX(this.xScale).domain());

 }

我正在Windows上运行,但是我使用的是git版本2.19.0.windows.1附带的perl版本,这似乎是Cygwin perl所使用的,它使用sh执行反引号。问题在于,这将创建一个名为“ NUL”的文件,而不是丢弃stderr。除其他外,您无法从资源管理器或命令行中删除此类文件。 (您可以通过bash)。

我已阅读this question,但将PERL5SHELL设置为my $vew=`nasmw -v 2>NUL`; 并不会停止创建文件。

是否可以控制Cygwin perl使用的外壳?

Perl -v报告版本5.26.2

(显而易见的解决方法是将C:\Windows\System32\cmd.exe /C修补到NUL,但如果可以避免的话,我宁愿不这样做。)

0 个答案:

没有答案