【发布时间】:2014-07-26 09:19:34
【问题描述】:
我有一个像这样调用 Perl 的 shell 脚本 (csh):
set SHELL_VAR = "foo"
set RES = `perl -e 'my $perl_var = uc("$SHELL_VAR"); print "$perl_var\n"'`
echo $RES
无论我尝试哪种组合,我都无法正确使用单引号或双引号。
如何在 Perl 和 shell 中正确混合变量?
两者都以$ 开头。双引号使用变量值,但返回
错误
perl_var: Undefined variable.
在外壳中。用单引号将 Perl 脚本括起来会导致结果为空。像\$perl_var 一样转义也不成功。
【问题讨论】:
-
你试过用
escape "\"吗? -
见Csh Programming Considered Harmful,尤其是第4节。引用。
-
@NoobEditor:是的,我按照问题中提到的那样尝试过
标签: perl variables unix quotes