我想在perl脚本中嵌入一个bash脚本。我想通过从perl脚本中获取一些变量来运行我的bash脚本。一旦获得变量,bash脚本就会接管并尝试输出在其中创建的文件。
如何将perl脚本变量传递给我的bash脚本?
我不知道perl,但是根据我在Google上看到的内容,我可以将我的bash脚本嵌入
system("get_files.cmd -yr ${year}");
我的bash脚本是get_files.cmd
。
答案 0 :(得分:0)
Expect模块实质上可以自动执行shell任务,例如运行脚本和传递perl变量。这样:
Use Expect;
# create an Expect object by spawning another process
my $exp = Expect->spawn($command, @params)
or die "Cannot spawn $command: $!\n";
答案 1 :(得分:0)
我认为如果将它们作为参数传递给bash脚本可能会更好。
perl电话:
system("get_files.cmd ${var1} ${var2}");
bash脚本
var1="$1"
var2="$2"
...
其中$1
,$2
是命令行中传递的参数(按顺序)。请注意,您可以使用$#
bash变量来获取传递的参数数量。
希望这有助于=)