如何逃脱分号?

时间:2018-03-16 00:14:14

标签: bash perl

我正在尝试使用bash运行与此类似的命令,并且无法弄清楚如何转义分号:

./script.pl data='!'"data;more_data"'!'

当我的脚本读取数据时,它获取的只是“!data”。

./script.pl data='!'"data\;more_data"'!'

我看到的值是“!data \”。

我应该如何逃避分号?

Perl脚本使用CGI和param来获取数据。

my $data = param("data");
print "$data\n";

1 个答案:

答案 0 :(得分:2)

问题在于Perl。即使在命令行上调用脚本,CGI库的param()函数也会将分号视为分隔符。

要使param()正常工作,请将分号转义为%3b。