在shell中,我有源.cshrc
文件,其中包含一些已定义的变量,如用户名。
我需要将这些变量传递给某个Perl脚本。
例如在shell终端中,我输入了
>echo $user
输出为>esaad
然后在Perl中,为了阅读$user
变量,我尝试了:
system("echo $user")
还尝试了这个命令:
my $userName = system(
echo $ENV{user}
);
但是Perl要求$user
初始化为Perl变量而不是Shell 1。
我怎么能读到这个变量?
答案 0 :(得分:4)
答案 1 :(得分:0)
使用Perl内置系统变量$ ENV:
print $ENV{'user'}
或者使用反斜杠来转义变量$ user。 Perl将解释Perl程序中定义的$ user变量而不使用反斜杠。使用反斜杠,“echo $ user”作为系统调用传递。
system("echo \$user")