从perl调用一个大的bash命令

geo*_*a_e 0 bash perl system

我想从perl调用大量文件列表中的"触摸"命令.我使用的命令失败:

$cmd = "touch $list_of_files";
$ret=system("sudo -u user bash -c \"$cmd\"");
print $ret;
Run Code Online (Sandbox Code Playgroud)

在bash中是否存在命令长度的限制,还是因为我使用的是"系统"?除了在较小的列表中拆分文件列表之外,还有解决我的问题的方法吗?

谢谢

ike*_*ami 5

bash中的命令长度是否有限制

我相信是这样.但你为什么要起诉bash呢?

system("sudo", "-u", "user", "touch", @list_of_files);
Run Code Online (Sandbox Code Playgroud)

  • 如果没有指定重要部分,请不要再说"它不起作用":*如何*它不起作用.您是否"不工作"意味着说"不,这会给出错误'触摸:命令未找到'"? (3认同)