我正在用 perl 编写一个带有嵌入式 shell 脚本的代码:
#!/usr/bin/perl
use strict;
use warnings;
our sub main {
my $n;
my $n2=0;
$n=chdir("/home/directory/");
if($n){
print "change directory successful $n \n";
$n2 = system("cd", "section");
system("ls");
print "$n2 \n";
}
else {
print "no success $n \n";
}
print "$n\n";
}
main();
但它不起作用。当我做 ls. ls 不显示新文件。任何人都知道另一种方法。我知道我可以使用 chdir(),但这不是唯一的问题,因为我创建了其他命令,它们只是组合在一起的 shell 命令。那么有谁知道如何在 perl 中准确地使用 cli,这样我的编译器就会将 shell 脚本附加到同一个进程,而不是为每个系统创建一个新进程……我真的不知道该怎么做。
编辑已用于改进问题。如果问题很清楚,请不要介意编辑。编辑:暴民提出的要点是系统是一个单一的进程,所以它每次都会死掉。但是,我想做的是创建一个 perl 脚本,该脚本遵循决定 shell 脚本控制流的算法。那么如何让所有这些 shell 命令遵循相同的过程呢?