从perl脚本获取shell脚本

时间:2017-03-17 07:39:58

标签: perl shell

我有一个shell脚本可以永久地将路径更改为另一个路径。我的要求是使用perl脚本来源它(perl脚本也有一些其他代码,最后它必须获取下面的shell scipt)

test.sh:

!/bin/bash
cd /db/oa/invoke/path

test.pl:

!/usr/bin/perl
system("source /home/test.sh");

但采购不起作用。我知道从perl脚本执行shell脚本的命令system("sh /home/test.sh --help")。但我需要类似的命令来源shell脚本。如果我遗漏任何细节,请告知。我已经看到有关同一主题的问题,但我没有看到适当的采购解决方案。任何人都可以帮助我。

关心Anand

1 个答案:

答案 0 :(得分:0)

正如@tripleee所说,你必须自己行事。我将如何做到这一点:

if (defined $ENV{TOTO}) {
    print "TOTO is $ENV{TOTO}\n";
} else {
    my $cmd = ". ./source.txt ; exec $^X $0 " . join(' ', @ARGV);
    system ($cmd);
}

我的脚本source.txt包含

export TOTO=titi