Perl   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何在Perl的系统()中使用bash语法?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
如何在Perl的system()命令中使用bash语法?

我有一个bash特定的命令,例如以下,使用bash的过程替换:

diff <(ls -l) <(ls -al)

我想用Perl来称呼它

system("diff <(ls -l) <(ls -al)")

但它给我一个错误,因为它使用sh而不是bash来执行命令:

sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `sort <(ls)'

解决方法

告诉Perl直接调用bash.使用 system()的列表变体来减少引用的复杂性: @H_109_4@my @args = ( "bash","-c","diff <(ls -l) <(ls -al)" ); system(@args);

你甚至可以定义一个子程序,如果你打算这么做的经常:

sub system_bash {
  my @args = ( "bash",shift );
  system(@args);
}

system_bash('echo $SHelL');
system_bash('diff <(ls -l) <(ls -al)');

大佬总结

以上是大佬教程为你收集整理的如何在Perl的系统()中使用bash语法?全部内容,希望文章能够帮你解决如何在Perl的系统()中使用bash语法?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。