从shell中使用Perl自定义脚本
我想将一个变量传递给自定义Perl脚本。从shell中使用Perl自定义脚本
$file="my_wa/fin" if [[ "$file" == *"fin" ]]; then
script.pl
fi
在我的剧本我尝试使用$file
我的路径打开和读取文件
my $input_filename = "$ENV{file}";
我明白,我需要以某种方式将其导出,并接受它在我的Perl代码, 但它不承认$file
。 - 如果我只写my_wa/fin
,它会很好地工作。
回答:
你可以通过$文件作为参数
$file="my_wa/fin" if [[ "$file" == *"fin" ]]; then
script.pl \"$file\"
fi
然后访问数据
my $input_filename = $ARGV[0];
回答:
在调用perl程序之前,您没有在shell中导出变量。
将你的shell代码粘贴到http://www.shellcheck.net/ - 它会告诉你你的其他shell错误。
回答:
是的,您需要在执行perl脚本之前在shell中导出环境变量文件。你也可以确保包含文件的完整路径。
export file=/full/path/to/my/file/my_wa/fin
或利用的pwd
如果它是相对于当前的工作目录:
export file="$(pwd)/my_wa/fin"
以上是 从shell中使用Perl自定义脚本 的全部内容, 来源链接: utcz.com/qa/258518.html