我試圖在UNIX中使用Perl更改工作目錄(用於配置WebShpere MQ隊列管理器)。Perl chdir錯誤
我得去目錄/var/mqm/qmgrs/Q\!MAN
和我用下面的代碼片段:
$QueueManagerPathName = 'Q\!MAN';
chdir('/var/mqm/qmgrs/'.$QueueManagerPathName) or die "Cannot change to dir : /var/mqm/qmgrs/".$QueueManagerPathName."\n";
不過,這並不改變目錄去世時給
Cannot change to dir : /var/mqm/qmgrs/Q\!MAN
當我刪除變量$QueueManagerPathName
它的工作正常,並得出結論說,這將是錯誤使用"\!"
部分。
非常感謝。我用UNIX shell表示誤解了它。使用'$ QueueManagerPathName ='Q!MAN';'它工作正常。再次感謝您 – DarRay
如果您將字符串傳遞給shell(例如,使用'system'或反引號),您需要這樣做,但'chdir'在Perl中是本地的。 –
@Colin:'system(「ls!test/*」)''和'print \'ls!test/* \'也可以工作 –