Perl脚本,在unix上执行时查看windows文件夹

时间:2014-12-03 19:11:17

标签: perl unix

我有一个在unix机器(Linux01)上运行的perl脚本,可以执行各种操作。我想在脚本中添加一些东西,这将允许我在我有权限/访问的网络上的Windows机器(Wdinows01)上运行系统命令。

我想做这样的事情:

my $result = `cat \\Windows01\tmp\test\fileinfo.txt`;

显然上面的代码遗漏了很多,但这是否可能或者这比我想的更复杂?

1 个答案:

答案 0 :(得分:2)

反引号遵循与双引号字符串相同的编码规则,这意味着

`...`

相同
readpipe(qq`...`)

所以让我们看看你传递给shell的字符串:

$ perl -E'say qq`cat \\Windows01\tmp\test\fileinfo.txt`'
cat \Windows01  mp      est
ileinfo.txt

糟糕! \\生成反斜杠,\t会生成一个标签,\f会生成换页符。修正:

my $result = `cat \\\\Windows01\\tmp\\test\\fileinfo.txt`;

(假设您的cat采用Windows路径。)