加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

为什么Perl system()会破坏重定向路径?

发布时间:2020-12-16 06:14:46 所属栏目:大数据 来源:网络整理
导读:我在使用的perl脚本中有以下命令: system ("mycommand /home/tahoar/?????_tm-??????-???/giza.??????-???/??????-???.A3.final.part*/home/tahoar/?????_tm-??????-???/giza.??????-???/??????-???.A3.final") 该命令失败并显示以下错误: sh: cannot crea
我在使用的perl脚本中有以下命令:

system ("mycommand /home/tahoar/?????_tm-??????-???/giza.??????-???/??????-???.A3.final.part*>/home/tahoar/?????_tm-??????-???/giza.??????-???/??????-???.A3.final")

该命令失败并显示以下错误:

sh: cannot create /home/tahoar/?????_tm-???????-???/giza.???????-???/???????-???.A3.final: Directory nonexistent

我的故障排除确定“mycommand”永远不会执行.它也发生在各种其他命令(mycommand1,mycommand2等)上.命令字符串是UTF-8.预期的输出路径已存在.我已将LC_ALL = C设置为其他用途.相同的命令在路径中使用拉丁字符正确运行.

为什么重定向的输出路径被破坏?

解决方法

我试过上面的命令.如果目录丢失,我得到完全相同的错误.
在相应的mkdir之后,一切似乎都没问题.

在您的情况下不运行该命令,因为perl启动一个sh,它首先尝试设置重定向,然后启动连接到准备好的重定向的命令. – 在您的情况下,sh无法准备重定向,因此无法启动实际命令.

正如你所说的“输出路径已经存在”但perl说“目录不存在”你们似乎都在谈论不同的路径.

尝试从perl中获取mkdir或输出路径.然后你应该能够看到发生了什么.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读