我正在尝试使用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";
答案 0 :(得分:2)
问题在于Perl。即使在命令行上调用脚本,CGI库的param()函数也会将分号视为分隔符。
要使param()正常工作,请将分号转义为%3b。