有谁可以告诉这段代码片段的作用

时间:2016-03-21 09:08:26

标签: linux perl shell variables environment

我正在尝试理解下面提到的代码片段,目前我被困在第3行并且在挖掘很多之后我知道$ MYPERL是perl二进制文件定义/定位的地方而且$ PERLDB是什么perl调试器我,e -d:ptkdb,基本上这是一个perl脚本,以及编写此代码的人如何使用最新的perl版本。有人可以告诉我如何更改MYPERL变量值/ home / Desktop / goudar / perl /并执行脚本的其余部分吗?

#!/bin/sh
# -*- cperl -*-
exec $MYPERL -x $PERLDB -wS $0 ${1+"$@"}
#!perl
#line 6

### perl 
use Cwd;
use Data::Dumper;
use List::MoreUtils qw/ uniq /;
use JSON;
use Mojo::JSON;

#rest of the code go here#

1 个答案:

答案 0 :(得分:1)

  

可以告诉某人此代码段的内容

它使用env var MYPERL指定的Perl解释器执行嵌入式Perl脚本。 env var PERLDB中指定的选项(如果有)将传递给解释器。全局启用警告。

  

我如何更改MYPERL变量值/ home / Desktop / goudar / perl /并执行脚本的其余部分

如果启动脚本的进程是基于bourne的,那么

export MYPERL=/home/Desktop/goudar/perl/

那就是说,我不知道为什么要将这个值赋给MYPERL env变量,因为脚本希望它是Perl解释器的路径。