使用shell中的Perl自定义脚本
我试图将一个变量传递给自定义Perl脚本使用shell中的Perl自定义脚本,shell,perl,Shell,Perl,我试图将一个变量传递给自定义Perl脚本 $file="my_wa/fin" if [[ "$file" == *"fin" ]]; then script.pl fi 在我的脚本中,我尝试使用$file作为打开和读取文件的路径 my $input_filename = "$ENV{file}"; 我知道我需要以某种方式导出它并在Perl代码中接收它, 但是它不能识别$file-如果我只编写my_wa/fin调用per
$file="my_wa/fin"
if [[ "$file" == *"fin" ]]; then
script.pl
fi
在我的脚本中,我尝试使用$file
作为打开和读取文件的路径
my $input_filename = "$ENV{file}";
我知道我需要以某种方式导出它并在Perl代码中接收它,
但是它不能识别
$file
-如果我只编写my_wa/fin
调用perl程序之前,您没有在shell中导出变量,那么它就可以完美地工作
将shell代码粘贴到中--它将告诉您另一个shell错误。是的,您需要在执行perl脚本之前导出shell中的环境变量文件。此外,您可能需要确保包含文件的完整路径
export file=/full/path/to/my/file/my_wa/fin
或者使用pwd
,如果它与当前工作目录相关:
export file=“$(pwd)/my_wa/fin”
您可以将$file作为参数传递
$file="my_wa/fin"
if [[ "$file" == *"fin" ]]; then
script.pl \"$file\"
fi
然后访问数据
my $input_filename = $ARGV[0];
尝试阅读alvinalexander.com/perl/perl-command-line-arguments-read-args@ilux,404没有找到哦,